:root{--paper:#f5efe8;--paper2:#eee4da;--ink:#171312;--muted:#756862;--accent:#8d092d;--accent2:#c33d5f;--accent-soft:#ead0d7;--line:rgba(23,19,18,.18);--white:#fffaf4;--max:1500px;--shadow:0 22px 70px rgba(58,29,24,.12)}
html[data-theme="wine"]{--paper:#f5efe8;--paper2:#eee4da;--ink:#171312;--muted:#756862;--accent:#8d092d;--accent2:#c33d5f;--accent-soft:#ead0d7}
html[data-theme="forest"]{--paper:#f1f2e9;--paper2:#e4e6d8;--ink:#10211b;--muted:#617069;--accent:#0e563e;--accent2:#6d9d85;--accent-soft:#d5e3da}
html[data-theme="navy"]{--paper:#f1f2f5;--paper2:#e1e5eb;--ink:#101826;--muted:#626b79;--accent:#163f73;--accent2:#6e8eb5;--accent-soft:#d8e1ec}
html[data-theme="terracotta"]{--paper:#f7eee7;--paper2:#ebddd2;--ink:#2b1913;--muted:#765f56;--accent:#a64227;--accent2:#d47a5f;--accent-soft:#ecd8ce}
html[data-theme="plum"]{--paper:#f5eef3;--paper2:#e9dce5;--ink:#271721;--muted:#75616e;--accent:#71355f;--accent2:#ad789c;--accent-soft:#e8d5e2}
html[data-theme="black"]{--paper:#f1efea;--paper2:#e3e0d8;--ink:#111;--muted:#666;--accent:#161616;--accent2:#666;--accent-soft:#ddd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}.page{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--accent)}.rule{border-top:1px solid var(--line)}
.theme-dock{position:fixed;z-index:50;right:18px;bottom:18px;display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.theme-chip{width:24px;height:24px;border-radius:50%;border:2px solid var(--paper);outline:1px solid var(--line);cursor:pointer}.theme-chip.active{transform:scale(1.18);outline-color:var(--ink)}
.topline{display:flex;justify-content:space-between;align-items:center;padding:18px 0 8px;border-bottom:1px solid var(--ink);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.masthead{padding:8px 0 10px;overflow:hidden}.brand{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:30px;white-space:nowrap}.brand-main,.brand-daily{font-family:Unbounded,sans-serif;font-weight:700;line-height:.86;letter-spacing:-.075em;font-size:110px}.brand-daily{display:block;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent),var(--accent2));background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradientMove 8s linear infinite;padding-right:.08em}@keyframes gradientMove{to{background-position:260% 0}}
.ticker{height:32px;background:var(--accent);color:var(--white);overflow:hidden}.ticker-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.ticker span{padding:8px 28px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}@keyframes marquee{to{transform:translateX(-50%)}}
.media-placeholder{width:100%;height:100%;min-height:inherit;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;background:linear-gradient(135deg,var(--paper2),color-mix(in srgb,var(--accent-soft) 45%,var(--paper)));color:var(--muted);border:1px solid var(--line);font:400 22px/1.35 Prata,serif}.media-placeholder span{display:block;max-width:22ch}.gallery-placeholder{aspect-ratio:1/1.03;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;background:var(--paper2);color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.location-placeholder{min-height:260px}.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;padding:26px 0 30px;align-items:start}.hero-photo{position:relative;overflow:hidden;min-height:500px;max-height:590px;aspect-ratio:1.28/1;background:var(--paper2)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-tag{position:absolute;left:14px;bottom:14px;background:var(--accent);color:#fff;padding:8px 12px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.hero-copy{padding-left:28px;border-left:1px solid var(--line);display:flex;flex-direction:column}.urgent-title{display:flex;align-items:center;gap:10px;font:400 30px Prata,serif;padding:8px 0 18px;border-bottom:1px solid var(--ink)}.urgent-item{display:grid;grid-template-columns:24px 1fr;gap:16px;padding:28px 0;border-bottom:1px solid var(--line)}.urgent-item svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.8}.urgent-item h3{font:400 23px Prata,serif;margin:8px 0 5px}.urgent-item p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}.urgent-item--lead h3{font-size:25px}.urgent-item--lead p{max-width:46ch}.hero-meta .meta small{max-width:22ch}.hero-meta{display:grid;grid-template-columns:.88fr .72fr 1.25fr;margin-top:auto;padding-top:24px;align-items:stretch}.meta{padding:18px 20px;min-width:0;position:relative}.meta+.meta{border-left:1px solid var(--line)}.meta b{display:block;font:400 42px Prata,serif;line-height:1}.meta small{display:block;color:var(--muted);margin-top:7px;line-height:1.4}.meta-date{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:17px 20px 16px}.meta-date .eyebrow,.meta-date small{color:rgba(255,255,255,.78)}.meta-date b{font-size:58px;letter-spacing:-.045em;margin-top:2px}.meta-date small{font-size:13px}.meta-date:after{content:"";position:absolute;right:14px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--accent2);box-shadow:0 0 0 5px rgba(255,255,255,.12)}.couple-title{grid-column:1/-1;margin-top:12px;padding:0 0 20px}.couple-title h1{font:400 clamp(48px,5vw,88px)/1 Prata,serif;margin:0}.couple-title p{font:400 clamp(40px,4.6vw,76px)/.95 Prata,serif;font-style:italic;color:var(--accent);margin:0}
.section{padding:20px 0 30px;border-top:1px solid var(--line)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head h2{font:400 clamp(30px,3vw,48px) Prata,serif;margin:0}.schedule{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);padding:0 0 28px}.schedule-item{min-width:0;padding:12px 18px 14px;text-align:center;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center}.schedule-item:first-child{padding-left:10px}.schedule-item:last-child{border-right:0;padding-right:10px}.schedule-icon{height:76px;display:grid;place-items:center;margin-bottom:4px}.schedule-icon img{width:64px;height:64px;object-fit:contain;filter:sepia(1) saturate(.7) hue-rotate(330deg) brightness(.72);opacity:.82}.schedule-time{font:400 28px/1 Prata,serif;margin-top:4px}.schedule-item h3{font:400 17px/1.25 Prata,serif;margin:10px 0 5px}.schedule-item p{max-width:155px;margin:0 auto;color:var(--muted);font-size:11px;line-height:1.45}
.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.gallery a{display:block;aspect-ratio:1/1.03;border-radius:6px;overflow:hidden;background:var(--paper2)}.gallery img{width:100%;height:100%;object-fit:cover;transition:.45s}.gallery a:hover img{transform:scale(1.04)}
.locations{display:grid;grid-template-columns:1fr 1fr;gap:22px}.location-card{display:grid;grid-template-columns:1.08fr .92fr;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 84%,white);min-height:260px}.location-card img{width:100%;height:100%;object-fit:cover}.location-info{padding:28px}.location-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px}.location-info h3{font:400 25px Prata,serif;margin:12px 0 8px}.location-info p{margin:0 0 12px;color:var(--muted);line-height:1.6}.location-time{display:flex;align-items:center;gap:9px;font:400 25px Prata,serif;margin:18px 0}.map-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin-top:8px;padding:12px 18px;border:1px solid var(--accent);color:var(--accent);background:transparent;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.2s ease}.map-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;flex:0 0 auto}.map-link:hover{background:var(--accent);color:#fff}
.dresscode{display:grid;grid-template-columns:1.1fr 2.6fr 1fr;gap:22px;align-items:center;border:1px solid var(--line);padding:26px 28px;background:color-mix(in srgb,var(--paper) 86%,white)}.dresscode h2{font:400 34px Prata,serif;margin:0 0 6px}.dresscode p{margin:0;color:var(--muted);line-height:1.6}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.swatch{text-align:center}.swatch i{display:block;width:64px;height:64px;border-radius:50%;margin:0 auto 8px;border:2px solid color-mix(in srgb,var(--accent) 45%,#d9b86f);box-shadow:inset 10px 8px 20px rgba(255,255,255,.2),inset -8px -8px 18px rgba(0,0,0,.12);background:var(--c)}.swatch span{font-size:10px;text-transform:uppercase}.dress-note{text-align:center;font:italic 20px Prata,serif;color:var(--accent)}
.rsvp{padding:28px 0 40px;border-top:1px solid var(--line);background:var(--paper);color:var(--ink)}.rsvp-shell{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid var(--line);min-height:360px}.rsvp-intro{padding:42px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,var(--accent-soft),transparent 72%)}.rsvp-mark{font:400 76px/1 Prata,serif;color:var(--accent)}.rsvp-intro h2{font:400 clamp(38px,4vw,62px)/1.02 Prata,serif;margin:18px 0}.rsvp-intro p{max-width:430px;margin:0;color:var(--muted);line-height:1.7}.rsvp-deadline{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.rsvp-form{padding:38px 42px;display:grid;grid-template-columns:1fr 1fr;gap:20px 26px;align-content:center}.rsvp-field{display:flex;flex-direction:column;gap:8px}.rsvp-field--wide{grid-column:1/-1}.rsvp-field label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--accent)}.rsvp-field input,.rsvp-field select,.rsvp-field textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);padding:12px 0;font:400 17px Manrope;outline:0;border-radius:0}.rsvp-field textarea{min-height:76px;resize:vertical}.rsvp-field input:focus,.rsvp-field select:focus,.rsvp-field textarea:focus{border-bottom-color:var(--accent)}.rsvp-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px}.rsvp-note{font-size:12px;color:var(--muted)}.rsvp-button{border:0;display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;background:var(--accent);color:#fff;text-decoration:none;font:500 14px Manrope;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.footer-ticker{background:var(--accent);color:#fff;padding:16px 0;display:flex;overflow:hidden;white-space:nowrap;font-size:10px;letter-spacing:.32em;text-transform:uppercase}.footer-ticker span{display:block;min-width:max-content;animation:marquee 28s linear infinite}
@media(max-width:1380px){.brand-main,.brand-daily{font-size:clamp(74px,7.7vw,110px)}.brand{gap:22px}}
.section-intro{max-width:760px;margin:-18px 0 28px;color:var(--muted);line-height:1.7}
@media(max-width:1100px){.brand{gap:16px}.hero{grid-template-columns:1fr}.hero-copy{padding-left:0;border-left:0}.hero-photo{min-height:0;max-height:none;aspect-ratio:16/10}.hero-meta{margin-top:8px}.schedule{grid-template-columns:repeat(4,1fr)}.schedule-item:nth-child(4){border-right:0}.schedule-item:nth-child(n+5){border-top:1px solid var(--line);padding-top:18px}.gallery{grid-template-columns:repeat(3,1fr)}.locations{grid-template-columns:1fr}.dresscode{grid-template-columns:1fr}.rsvp-inner{grid-template-columns:1fr}.rsvp-button{justify-self:start}}
@media(max-width:760px){body{overflow-x:hidden}.page{width:min(100% - 24px,var(--max))}.topline{font-size:8px;letter-spacing:.14em;padding-top:12px}.topline span:last-child{display:none}.masthead{padding:12px 0 14px;overflow:visible}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:normal}.brand-main,.brand-daily{font-size:clamp(40px,12.8vw,68px);line-height:.9;letter-spacing:-.07em;max-width:100%}.brand-daily{margin-top:0;padding-right:.04em}.ticker{height:29px}.ticker span{font-size:8px;padding:8px 18px}.hero{padding-top:16px;gap:18px}.hero-photo{min-height:0;aspect-ratio:4/5}.photo-tag{font-size:8px;left:10px;bottom:10px}.couple-title{padding-bottom:8px}.couple-title h1{font-size:clamp(42px,13vw,62px)}.couple-title p{font-size:clamp(34px,10vw,48px);line-height:1.02}.urgent-title{font-size:25px}.urgent-item{padding:20px 0;grid-template-columns:22px 1fr;gap:12px}.urgent-item h3{font-size:20px}.urgent-item p{font-size:13px}.hero-meta{grid-template-columns:1fr 1fr;gap:0;padding-top:16px}.meta{padding:16px 14px}.meta-date{grid-column:1/-1;margin-bottom:10px;padding:18px}.meta-date b{font-size:64px}.hero-meta .meta:nth-child(2){border-left:0}.hero-meta .meta:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-left:0;margin-top:4px}.section{padding:24px 0}.section-head{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:16px}.section-head h2{font-size:36px}.schedule{grid-template-columns:1fr 1fr}.schedule-item{padding:16px 10px;border-bottom:1px solid var(--line)}.schedule-item:nth-child(even){border-right:0}.schedule-item:nth-child(n+5){padding-top:16px}.schedule-item:last-child{grid-column:1/-1}.schedule-icon{height:54px}.schedule-icon img{width:48px;height:48px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.locations{gap:14px}.location-card{grid-template-columns:1fr;min-height:0}.location-card img{height:auto;aspect-ratio:16/10}.location-info{padding:22px}.dresscode{padding:22px 18px;gap:18px}.palette{grid-template-columns:repeat(2,1fr);gap:16px}.swatch:last-child{grid-column:1/-1}.dress-note{text-align:left}.rsvp{padding:28px 0}.rsvp-inner{gap:18px}.rsvp h2{font-size:24px}.rsvp-button{width:100%;white-space:normal;text-align:center}.theme-dock{right:8px;bottom:8px;padding:8px;gap:6px;max-width:calc(100vw - 16px);overflow-x:auto}.theme-chip{width:20px;height:20px;flex:0 0 auto}}
@media(max-width:430px){.brand-main,.brand-daily{font-size:clamp(34px,12vw,50px)}.hero-meta{grid-template-columns:1fr}.meta,.hero-meta .meta:nth-child(2),.hero-meta .meta:last-child{grid-column:auto;border-left:0;border-top:1px solid var(--line);padding-left:0}.meta-date{border-top:0!important;padding-left:18px!important}.schedule{grid-template-columns:1fr}.schedule-item,.schedule-item:nth-child(even),.schedule-item:last-child{grid-column:auto;border-right:0}.gallery{grid-template-columns:1fr}.palette{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.schedule{grid-template-columns:repeat(4,1fr)}.schedule-item:nth-child(4){border-right:0}.schedule-item:nth-child(n+5){border-top:1px solid var(--line);padding-top:24px}.rsvp-shell{grid-template-columns:1fr}.rsvp-intro{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:760px){.schedule{grid-template-columns:1fr 1fr;padding-bottom:0}.schedule-item{padding:20px 12px;border-bottom:1px solid var(--line)}.schedule-item:nth-child(even){border-right:0}.schedule-item:nth-child(n+5){padding-top:20px}.schedule-item:last-child{grid-column:1/-1}.schedule-icon{height:64px}.schedule-icon img{width:56px;height:56px}.schedule-time{font-size:25px}.rsvp{padding:24px 0 30px}.rsvp-intro,.rsvp-form{padding:26px 22px}.rsvp-mark{font-size:56px}.rsvp-form{grid-template-columns:1fr}.rsvp-field--wide,.rsvp-actions{grid-column:auto}.rsvp-actions{align-items:stretch;flex-direction:column}.rsvp-button{width:100%}}
@media(max-width:430px){.schedule{grid-template-columns:1fr}.schedule-item,.schedule-item:last-child{grid-column:auto;border-right:0}.schedule-item p{max-width:260px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Production blocks mirrored from the live template */
.story-editorial{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:stretch}.story-media{min-height:430px;overflow:hidden;background:var(--paper2)}.story-media img{width:100%;height:100%;object-fit:cover}.story-copy{border:1px solid var(--line);padding:42px;display:flex;flex-direction:column;justify-content:center;background:color-mix(in srgb,var(--paper) 88%,white)}.story-copy h2,.countdown-copy h2,.details-block h2,.contacts-block h2,.music-block h2{font:400 clamp(34px,3.5vw,54px)/1.08 Prata,serif;margin:10px 0 18px}.story-copy p,.countdown-copy p,.details-block>p,.contacts-block>p,.music-block>p{color:var(--muted);line-height:1.75;margin:0}.story-sign{margin-top:28px;font:italic 24px Prata,serif;color:var(--accent)}
.countdown-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.countdown-copy{border:1px solid var(--line);padding:34px;background:linear-gradient(145deg,var(--accent-soft),transparent 76%)}.countdown-date{display:flex;align-items:flex-end;gap:18px;margin:18px 0 28px}.countdown-date strong{font:400 82px/.82 Prata,serif;color:var(--accent)}.countdown-date span{font:400 26px/1.2 Prata,serif}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.countdown-grid div{text-align:center;padding:18px 10px}.countdown-grid div+div{border-left:1px solid var(--line)}.countdown-grid b{display:block;font:400 34px Prata,serif}.countdown-grid span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.countdown-art{min-height:310px;overflow:hidden}.countdown-art img{width:100%;height:100%;object-fit:cover}
.details-block{border:1px solid var(--line);padding:34px;background:color-mix(in srgb,var(--paper) 88%,white)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.detail-card{border-top:3px solid var(--accent);padding:22px 20px;background:var(--paper);min-height:210px}.detail-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px}.detail-card h3{font:400 24px Prata,serif;margin:18px 0 10px}.detail-card p{color:var(--muted);line-height:1.65;margin:0}.wishlist-btn{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.contacts-block{display:grid;grid-template-columns:.82fr 1.18fr;border:1px solid var(--line)}.contacts-intro{padding:36px;background:linear-gradient(145deg,var(--accent-soft),transparent 80%)}.contact-list{display:grid;grid-template-columns:1fr 1fr}.contact-card{padding:30px;border-left:1px solid var(--line)}.contact-card+.contact-card{border-left:1px solid var(--line)}.contact-role{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent)}.contact-card h3{font:400 26px Prata,serif;margin:9px 0 8px}.contact-card p{color:var(--muted);margin:0 0 15px}.contact-card a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}
.music-block{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;border:1px solid var(--line);padding:30px 34px;background:var(--accent);color:#fff}.music-block .eyebrow,.music-block p{color:rgba(255,255,255,.76)}.music-block h2{margin-bottom:8px}.music-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;background:#fff;color:var(--accent);text-decoration:none;font-weight:700;white-space:nowrap}
@media(max-width:900px){.story-editorial,.countdown-wrap,.contacts-block{grid-template-columns:1fr}.story-media{min-height:360px}.details-grid{grid-template-columns:1fr 1fr}.contact-list{border-top:1px solid var(--line)}.contact-card:first-child{border-left:0}.music-block{grid-template-columns:1fr}}
@media(max-width:620px){.story-copy,.countdown-copy,.details-block,.contacts-intro{padding:24px}.story-media{min-height:280px}.countdown-date strong{font-size:64px}.countdown-date span{font-size:21px}.countdown-grid{grid-template-columns:1fr 1fr}.countdown-grid div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.countdown-grid div:nth-child(4){border-top:1px solid var(--line)}.details-grid,.contact-list{grid-template-columns:1fr}.contact-card,.contact-card+.contact-card{border-left:0;border-top:1px solid var(--line)}.music-block{padding:24px}.music-btn{width:100%;justify-content:center}}


.ld-hidden{display:none!important}.ld-empty{display:none!important}
@media(max-width:1100px){.brand{gap:18px}.brand-main,.brand-daily{font-size:clamp(54px,8.8vw,92px)}.hero{grid-template-columns:1fr}.hero-copy{border-left:0;padding-left:0}.schedule{grid-template-columns:repeat(4,1fr)}.schedule-item:nth-child(4){border-right:0}.gallery{grid-template-columns:repeat(3,1fr)}.locations{grid-template-columns:1fr}.dresscode{grid-template-columns:1fr}.rsvp-shell{grid-template-columns:1fr}.rsvp-intro{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.page{width:min(100% - 22px,var(--max))}.topline{font-size:9px}.brand{display:flex;flex-wrap:wrap;gap:2px 14px}.brand-main,.brand-daily{font-size:clamp(37px,11.2vw,68px);line-height:.92}.hero-photo{min-height:0;aspect-ratio:4/5;max-height:none}.couple-title h1{font-size:clamp(43px,13vw,66px)}.couple-title p{font-size:clamp(34px,11vw,55px)}.hero-meta{grid-template-columns:1fr 1fr}.hero-meta .meta:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.schedule{grid-template-columns:repeat(2,1fr)}.schedule-item:nth-child(even){border-right:0}.gallery{grid-template-columns:repeat(2,1fr)}.location-card{grid-template-columns:1fr}.location-card img{height:230px}.palette{grid-template-columns:repeat(3,1fr)}.details-grid,.contact-list{grid-template-columns:1fr}.rsvp-form{grid-template-columns:1fr}.rsvp-field--wide,.rsvp-actions{grid-column:auto}.theme-dock{right:8px;bottom:8px;max-width:calc(100vw - 16px);overflow:auto}.section-head{align-items:flex-start;flex-direction:column}.urgent-item{padding:22px 0}.urgent-item h3{font-size:21px}}

/* ===== LOVE DAILY: shared production blocks ===== */
.ld-shared{position:relative;overflow:hidden}
.ld-shared>section,.ld-shared>div{max-width:none!important;margin:0!important}
.ld-details{border:1px solid var(--line);padding:34px;background:color-mix(in srgb,var(--paper) 88%,white)}
.ld-details :is(h1,h2){font:400 clamp(32px,3.4vw,52px)/1.08 Prata,serif!important;color:var(--ink)!important;margin:0 0 14px!important}
.ld-details :is(h3,h4){font:400 24px/1.2 Prata,serif!important;color:var(--ink)!important;margin:12px 0 9px!important}
.ld-details :is(p,li){color:var(--muted)!important;line-height:1.65!important}
.ld-details :is([class*="grid"],[class*="list"]){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.ld-details :is(article,[class*="card"],[class*="item"]){min-width:0;border:0!important;border-top:3px solid var(--accent)!important;border-radius:0!important;background:var(--paper)!important;box-shadow:none!important;padding:22px 20px!important}
.ld-details :is(a,button){color:var(--accent)!important;border-color:var(--accent)!important}
.ld-details :is(svg){color:var(--accent)!important;stroke:currentColor!important}

.ld-contacts{border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,white);padding:0}
.ld-contacts>section,.ld-contacts>div{max-width:none!important}
.ld-contacts :is(h1,h2){font:400 clamp(34px,3.8vw,58px)/1.05 Prata,serif!important;color:var(--ink)!important;margin:0 0 14px!important}
.ld-contacts :is(h3,h4){font:400 26px/1.15 Prata,serif!important;color:var(--ink)!important;margin:8px 0!important}
.ld-contacts :is(p){color:var(--muted)!important;line-height:1.6!important}
.ld-contacts :is([class*="grid"],[class*="list"]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important}
.ld-contacts :is(article,[class*="card"],[class*="item"]){min-width:0;border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:30px!important;text-align:left!important}
.ld-contacts :is(article,[class*="card"],[class*="item"]):first-child{border-left:0!important}
.ld-contacts :is(a,button){display:inline-flex!important;align-items:center!important;gap:8px!important;color:var(--accent)!important;border:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:10px 14px!important;text-decoration:none!important}
.ld-contacts :is(svg){color:var(--accent)!important;stroke:currentColor!important}

.ld-rsvp{padding:28px 0 40px;border-top:1px solid var(--line)}
.ld-rsvp-shell{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,white)}
.ld-rsvp-intro{padding:42px;border-right:1px solid var(--line);background:linear-gradient(145deg,var(--accent-soft),transparent 72%);display:flex;flex-direction:column;justify-content:space-between;min-height:390px}
.ld-rsvp-mark{font:400 76px/1 Prata,serif;color:var(--accent)}
.ld-rsvp-intro h2{font:400 clamp(38px,4vw,62px)/1.02 Prata,serif;margin:18px 0}
.ld-rsvp-intro p{color:var(--muted);line-height:1.7;max-width:430px}
.ld-rsvp-deadline{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.ld-rsvp-shared{padding:34px 42px;min-width:0}
.ld-rsvp-shared>section,.ld-rsvp-shared>div{max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.ld-rsvp-shared :is(h1,h2,h3){font-family:Prata,serif!important;color:var(--ink)!important}
.ld-rsvp-shared form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px 26px!important;width:100%!important}
.ld-rsvp-shared :is(label,[class*="field"]){min-width:0!important}
.ld-rsvp-shared :is(input,select,textarea){width:100%!important;border:0!important;border-bottom:1px solid var(--ink)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important;padding:12px 0!important;font:400 16px Manrope,Arial,sans-serif!important}
.ld-rsvp-shared textarea{min-height:76px!important}
.ld-rsvp-shared :is(button,[type="submit"]){justify-self:end!important;border:0!important;border-radius:0!important;background:var(--accent)!important;color:#fff!important;padding:16px 26px!important;text-transform:uppercase!important;font-weight:700!important;letter-spacing:.06em!important}
.ld-rsvp-shared :is([class*="wide"],[class*="comment"],[class*="message"],[class*="note"],[class*="actions"],[class*="submit"]){grid-column:1/-1}
.ld-rsvp-shared :is([class*="option"],[class*="choice"],[class*="radio"]){border-color:var(--line)!important;background:transparent!important}
@media(max-width:900px){.ld-details :is([class*="grid"],[class*="list"]){grid-template-columns:1fr 1fr!important}.ld-rsvp-shell{grid-template-columns:1fr}.ld-rsvp-intro{border-right:0;border-bottom:1px solid var(--line);min-height:0}.ld-contacts :is([class*="grid"],[class*="list"]){grid-template-columns:1fr!important}.ld-contacts :is(article,[class*="card"],[class*="item"]){border-left:0!important;border-top:1px solid var(--line)!important}}
@media(max-width:620px){.ld-details{padding:22px 18px}.ld-details :is([class*="grid"],[class*="list"]){grid-template-columns:1fr!important}.ld-rsvp-intro,.ld-rsvp-shared{padding:26px 22px}.ld-rsvp-shared form{grid-template-columns:1fr!important}.ld-rsvp-shared :is([class*="wide"],[class*="comment"],[class*="message"],[class*="note"],[class*="actions"],[class*="submit"]){grid-column:auto}.ld-rsvp-shared :is(button,[type="submit"]){width:100%!important;justify-self:stretch!important}}


/* =========================================================
   LOVE DAILY · shared blocks final polish
========================================================= */
/* Shared PHP blocks already have the editorial heading above them.
   Hide only the known inner headers. Never use wildcard [class*="head"] here,
   because it also matches the outer template heading. */
.ld-details-body .le-details__header,
.ld-details-body .ivi-details__head,
.ld-contacts-body .ivi-contacts__head,
.ld-contacts-body .contacts-head{
  display:none!important;
}

/* Details: quieter cards, no doubled inner title. */
.ld-details{padding:26px 30px!important}
.ld-details :is([class*="grid"],[class*="list"]){gap:0!important;border-top:1px solid var(--line)!important}
.ld-details :is(article,[class*="card"],[class*="item"]){
  border-top:0!important;
  border-right:1px solid var(--line)!important;
  padding:28px 24px!important;
  background:transparent!important;
}
.ld-details :is(article,[class*="card"],[class*="item"]):last-child{border-right:0!important}
.ld-details :is(article,[class*="card"],[class*="item"])::before{
  content:"";display:block;width:42px;height:3px;background:var(--accent);margin-bottom:20px
}
.ld-details :is(h3,h4){font-size:27px!important}

/* Contacts: compact magazine row instead of a huge empty panel. */
.ld-contacts{padding:24px 30px!important}
.ld-contacts > :is(section,div){min-height:0!important;padding:0!important}
.ld-contacts :is([class*="grid"],[class*="list"]){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border-top:1px solid var(--line)!important;
}
.ld-contacts :is(article,[class*="card"],[class*="item"]){
  min-height:220px!important;padding:28px 26px!important;display:flex!important;
  flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;
}
.ld-contacts :is([class*="icon"],svg){width:34px!important;height:34px!important;margin:0 0 18px!important}
.ld-contacts :is(h3,h4){font-size:29px!important}
.ld-contacts :is(a,button){margin-top:auto!important}

/* RSVP controls: real checkboxes/radios, not solid green tiles. */
.ld-rsvp-shared label:has(input[type="radio"]),
.ld-rsvp-shared label:has(input[type="checkbox"]){
  position:relative!important;display:flex!important;align-items:center!important;gap:11px!important;
  min-height:48px!important;padding:12px 14px!important;border:1px solid var(--line)!important;
  background:transparent!important;color:var(--ink)!important;border-radius:0!important;
  box-shadow:none!important;cursor:pointer!important;text-transform:none!important;letter-spacing:0!important;
  font:500 14px/1.35 Manrope,Arial,sans-serif!important;
}
.ld-rsvp-shared label:has(input[type="radio"]):hover,
.ld-rsvp-shared label:has(input[type="checkbox"]):hover{border-color:var(--accent)!important;background:var(--accent-soft)!important}
.ld-rsvp-shared input[type="radio"],
.ld-rsvp-shared input[type="checkbox"]{
  appearance:none!important;-webkit-appearance:none!important;flex:0 0 20px!important;width:20px!important;height:20px!important;
  margin:0!important;padding:0!important;border:1px solid color-mix(in srgb,var(--ink) 55%,transparent)!important;
  background:var(--paper)!important;box-shadow:none!important;display:grid!important;place-items:center!important
}
.ld-rsvp-shared input[type="radio"]{border-radius:50%!important}
.ld-rsvp-shared input[type="checkbox"]{border-radius:2px!important}
.ld-rsvp-shared input[type="radio"]::after,
.ld-rsvp-shared input[type="checkbox"]::after{
  content:"";width:10px;height:10px;background:var(--accent);transform:scale(0);transition:transform .16s ease
}
.ld-rsvp-shared input[type="radio"]::after{border-radius:50%}
.ld-rsvp-shared input[type="checkbox"]::after{clip-path:polygon(14% 44%,0 59%,39% 100%,100% 18%,84% 4%,38% 70%)}
.ld-rsvp-shared input[type="radio"]:checked::after,
.ld-rsvp-shared input[type="checkbox"]:checked::after{transform:scale(1)}
.ld-rsvp-shared label:has(input:checked){border-color:var(--accent)!important;background:var(--accent-soft)!important}
/* Keep consent compact and readable. */
.ld-rsvp-shared :is([class*="consent"],[class*="agree"],[class*="privacy"]) label:has(input[type="checkbox"]){
  align-items:flex-start!important;background:transparent!important;border-color:var(--line)!important;padding:14px!important
}
@media(max-width:900px){
  .ld-details :is(article,[class*="card"],[class*="item"]){border-right:0!important;border-bottom:1px solid var(--line)!important}
  .ld-contacts :is([class*="grid"],[class*="list"]){grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
  .ld-details,.ld-contacts{padding:18px!important}
  .ld-contacts :is([class*="grid"],[class*="list"]){grid-template-columns:1fr!important}
  .ld-contacts :is(article,[class*="card"],[class*="item"]){min-height:0!important}
}

/* FINAL POLISH: compact RSVP + clean details cards */
.ld-rsvp-shared .rsvpSection{
  padding:0!important;background:transparent!important;
}
.ld-rsvp-shared .rsvpSection .rsvpFormCard{
  padding:28px 30px 30px!important;
  border:1px solid var(--line)!important;
  border-radius:24px!important;
  background:color-mix(in srgb,var(--white) 72%,var(--paper))!important;
}
.ld-rsvp-shared .rsvpSection #rsvpForm{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px 28px!important;
  align-items:start!important;
}
.ld-rsvp-shared .rsvpSection .row2{display:contents!important}
.ld-rsvp-shared .rsvpSection .field{
  min-height:0!important;padding:0 0 10px!important;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 62%,transparent)!important;
}
.ld-rsvp-shared .rsvpSection label,
.ld-rsvp-shared .rsvpSection .label,
.ld-rsvp-shared .rsvpSection .field-label{
  font-size:13px!important;line-height:1.35!important;color:var(--ink)!important;
}
.ld-rsvp-shared .rsvpSection input,
.ld-rsvp-shared .rsvpSection textarea,
.ld-rsvp-shared .rsvpSection select{font-size:15px!important}
.ld-rsvp-shared .rsvpSection .chips{
  display:flex!important;flex-wrap:wrap!important;gap:0!important;
  width:100%!important;border:1px solid var(--line)!important;
  background:transparent!important;
}
.ld-rsvp-shared .rsvpSection .chip{
  flex:0 0 auto!important;min-width:0!important;min-height:44px!important;
  padding:10px 14px!important;border:0!important;border-right:1px solid var(--line)!important;
  background:transparent!important;font-size:13px!important;
}
.ld-rsvp-shared .rsvpSection .chip:last-child{border-right:0!important}
.ld-rsvp-shared .rsvpSection .chip::before{width:17px!important;height:17px!important;flex-basis:17px!important}
.ld-rsvp-shared .rsvpSection .chip::after{left:18px!important;width:8px!important;height:8px!important}
.ld-rsvp-shared .rsvpSection .chip[data-active="true"],
.ld-rsvp-shared .rsvpSection .chip.is-active,
.ld-rsvp-shared .rsvpSection .chip.active{
  background:color-mix(in srgb,var(--accent-soft) 72%,var(--paper))!important;
}
.ld-rsvp-shared .rsvpSection .total,
.ld-rsvp-shared .rsvpSection .guestTotal,
.ld-rsvp-shared .rsvpSection [class*="total"]{
  border:1px solid var(--line)!important;border-radius:999px!important;
  padding:9px 14px!important;background:transparent!important;
}
.ld-rsvp-shared .rsvpSection .consent{
  grid-column:2!important;align-self:end!important;
  padding:14px 16px!important;border:1px solid var(--line)!important;
  background:transparent!important;border-radius:0!important;min-height:0!important;
}
.ld-rsvp-shared .rsvpSection .btn.btn-full{
  grid-column:1/-1!important;min-height:50px!important;border-radius:0!important;
  background:var(--accent)!important;color:#fff!important;
}
.ld-rsvp-shared .rsvpSection #childrenRow{grid-column:auto!important}

.ld-details .le-details__grid{
  gap:18px!important;border-top:0!important;
}
.ld-details .le-details__card{
  min-height:190px!important;padding:24px 24px 22px!important;
  border:1px solid var(--line)!important;border-radius:18px!important;
  background:color-mix(in srgb,var(--white) 64%,var(--paper))!important;
}
.ld-details .le-details__card::after{display:none!important}
.ld-details .le-details__card-icon{
  width:46px!important;height:46px!important;margin:0 0 18px!important;
  justify-content:center!important;border-radius:50%!important;
  background:color-mix(in srgb,var(--accent-soft) 70%,var(--paper))!important;
}
.ld-details .le-details__provider{margin:0 0 6px!important}
.ld-details .le-details__card-title{font-size:25px!important;margin:0 0 10px!important}
.ld-details .le-details__card-text{font-size:14px!important;line-height:1.6!important}

@media(max-width:900px){
  .ld-rsvp-shared .rsvpSection #rsvpForm{grid-template-columns:1fr!important}
  .ld-rsvp-shared .rsvpSection .consent{grid-column:auto!important}
}
@media(max-width:640px){
  .ld-rsvp-shared .rsvpSection .rsvpFormCard{padding:20px 16px 22px!important;border-radius:18px!important}
  .ld-rsvp-shared .rsvpSection .chips{display:grid!important;grid-template-columns:1fr!important}
  .ld-rsvp-shared .rsvpSection .chip{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .ld-rsvp-shared .rsvpSection .chip:last-child{border-bottom:0!important}
  .ld-details .le-details__grid{grid-template-columns:1fr!important}
}

/* RSVP: only the left editorial intro carries the label/title. */
.ld-rsvp-shared .rsvpSectionHead{display:none!important}
.ld-rsvp{padding:22px 0 30px!important}
.ld-rsvp-shell{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important}
.ld-rsvp-intro{min-height:0!important;padding:34px 36px!important}
.ld-rsvp-mark{font-size:58px!important}
.ld-rsvp-intro h2{font-size:clamp(34px,3.4vw,54px)!important;margin:14px 0!important}
.ld-rsvp-intro p{font-size:14px!important;line-height:1.65!important}
.ld-rsvp-deadline{margin-top:22px!important;padding-top:14px!important}
.ld-rsvp-shared{padding:30px 34px!important}
.ld-rsvp-shared .rsvpSection #rsvpForm{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 20px!important}
.ld-rsvp-shared .rsvpSection .row2{display:contents!important}
.ld-rsvp-shared .rsvpSection #rsvpAttendanceFields{display:contents!important}
.ld-rsvp-shared .rsvpSection .formRow{gap:8px!important;align-content:start!important}
.ld-rsvp-shared .rsvpSection .label{font-size:13px!important}
.ld-rsvp-shared .rsvpSection .field{min-height:42px!important;padding:8px 0!important;font-size:14px!important}
.ld-rsvp-shared .rsvpSection textarea.field{min-height:72px!important}
.ld-rsvp-shared .rsvpSection .chips{gap:8px!important}
.ld-rsvp-shared .rsvpSection .chip{min-height:42px!important;padding:9px 11px!important;font-size:13px!important}
.ld-rsvp-shared .rsvpSection .chip::before{width:17px!important;height:17px!important;flex-basis:17px!important}
.ld-rsvp-shared .rsvpSection .chip::after{left:16px!important;width:8px!important;height:8px!important}
.ld-rsvp-shared .rsvpSection .rsvpTotal{min-height:32px!important;font-size:12px!important;padding:0 11px!important}
.ld-rsvp-shared .rsvpSection .consent{grid-column:1/-1!important;padding:13px 14px!important;font-size:12px!important;line-height:1.45!important;min-height:0!important}
.ld-rsvp-shared .rsvpSection .consent small{font-size:11px!important}
.ld-rsvp-shared .rsvpSection .btn.btn-full{grid-column:1/-1!important;min-height:48px!important;margin-top:0!important;font-size:14px!important}
.ld-rsvp-shared .rsvpSection #companionsWrap,
.ld-rsvp-shared .rsvpSection #childrenRow{grid-column:1/-1!important}

/* Details: one clean accent, no ruler-like duplicate lines. */
.ld-details{padding:18px 22px!important}
.ld-details .le-details__grid{border-top:0!important}
.ld-details .le-details__card{min-height:190px!important;padding:22px 24px!important}
.ld-details .le-details__card::after{display:none!important}
.ld-details .le-details__card-icon{height:22px!important;margin:0 0 18px!important}
.ld-details .le-details__card-title{font-size:25px!important;margin-bottom:10px!important}
.ld-details .le-details__card-text{font-size:14px!important;line-height:1.6!important}
.ld-details .le-details__card::before{content:"";display:block;width:38px;height:3px;background:var(--accent);margin-bottom:18px}

@media(max-width:900px){
  .ld-rsvp-shell{grid-template-columns:1fr!important}
  .ld-rsvp-intro{padding:28px 26px!important}
}
@media(max-width:680px){
  .ld-rsvp-shared{padding:22px 18px!important}
  .ld-rsvp-shared .rsvpSection #rsvpForm{grid-template-columns:1fr!important}
  .ld-rsvp-shared .rsvpSection .consent,.ld-rsvp-shared .rsvpSection .btn.btn-full{grid-column:auto!important}
  .ld-details{padding:14px!important}
  .ld-details .le-details__card{padding:20px 18px!important}
}

.hero-countdown{margin-top:24px;border:1px solid var(--line);background:linear-gradient(135deg,var(--accent-soft),transparent 74%);padding:24px}
.hero-countdown-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.hero-countdown-head h3{font:400 clamp(24px,2.2vw,36px)/1.15 Prata,serif;margin:8px 0 0}
.hero-countdown-meta{display:flex;gap:22px;flex:0 0 auto}
.hero-countdown-meta span{display:grid;gap:4px;min-width:96px;padding-left:18px;border-left:1px solid var(--line)}
.hero-countdown-meta b{font:400 25px/1 Prata,serif;white-space:nowrap}
.hero-countdown-meta small{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.hero-countdown-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.hero-countdown-grid div{text-align:center;padding:20px 10px 16px}
.hero-countdown-grid div+div{border-left:1px solid var(--line)}
.hero-countdown-grid b{display:block;font:400 clamp(28px,2.6vw,42px)/1 Prata,serif}
.hero-countdown-grid span{display:block;margin-top:7px;color:var(--muted);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:760px){.hero-countdown{padding:18px}.hero-countdown-head{align-items:flex-start;flex-direction:column}.hero-countdown-meta{width:100%;gap:0}.hero-countdown-meta span{flex:1;min-width:0;padding:0 14px}.hero-countdown-meta span:first-child{padding-left:0;border-left:0}.hero-countdown-grid{grid-template-columns:1fr 1fr}.hero-countdown-grid div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.hero-countdown-grid div:nth-child(4){border-top:1px solid var(--line)}}

/* =========================================================
   LOVE DAILY · exact shared-block integration
========================================================= */

/* RSVP: shared block uses button.chip + hidden inputs.
   Make every option look and behave visually like a checkbox card. */
.ld-rsvp-shared .rsvpSection .chips{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.ld-rsvp-shared .rsvpSection .chip{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  min-width:0!important;
  min-height:50px!important;
  padding:12px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font:600 14px/1.3 Manrope,Arial,sans-serif!important;
  transform:none!important;
}
.ld-rsvp-shared .rsvpSection .chip::before{
  content:"";
  width:19px;
  height:19px;
  flex:0 0 19px;
  border:1px solid color-mix(in srgb,var(--ink) 55%,transparent);
  background:var(--paper);
  box-sizing:border-box;
}
.ld-rsvp-shared .rsvpSection .chips[data-multi="0"] .chip::before,
.ld-rsvp-shared .rsvpSection .chips[data-group="status"] .chip::before,
.ld-rsvp-shared .rsvpSection .chips[data-group="attendance"] .chip::before,
.ld-rsvp-shared .rsvpSection .chips[data-group="with_children"] .chip::before{
  border-radius:50%;
}
.ld-rsvp-shared .rsvpSection .chip::after{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  width:9px;
  height:9px;
  background:var(--accent);
  transform:translateY(-50%) scale(0);
  transition:transform .16s ease;
}
.ld-rsvp-shared .rsvpSection .chips[data-multi="0"] .chip::after,
.ld-rsvp-shared .rsvpSection .chips[data-group="status"] .chip::after,
.ld-rsvp-shared .rsvpSection .chips[data-group="attendance"] .chip::after,
.ld-rsvp-shared .rsvpSection .chips[data-group="with_children"] .chip::after{
  border-radius:50%;
}
.ld-rsvp-shared .rsvpSection .chips:not([data-multi="0"]) .chip::after{
  clip-path:polygon(14% 44%,0 59%,39% 100%,100% 18%,84% 4%,38% 70%);
}
.ld-rsvp-shared .rsvpSection .chip:hover{
  border-color:var(--accent)!important;
  background:color-mix(in srgb,var(--accent-soft) 50%,transparent)!important;
}
.ld-rsvp-shared .rsvpSection .chip[data-active="true"],
.ld-rsvp-shared .rsvpSection .chip.is-active,
.ld-rsvp-shared .rsvpSection .chip.active{
  border-color:var(--accent)!important;
  background:var(--accent-soft)!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.ld-rsvp-shared .rsvpSection .chip[data-active="true"]::after,
.ld-rsvp-shared .rsvpSection .chip.is-active::after,
.ld-rsvp-shared .rsvpSection .chip.active::after{
  transform:translateY(-50%) scale(1);
}
.ld-rsvp-shared .rsvpSection .rsvpFormCard{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.ld-rsvp-shared .rsvpSection #rsvpForm{gap:22px!important}
.ld-rsvp-shared .rsvpSection .field{
  min-height:50px!important;
  padding:12px 0!important;
  border:0!important;
  border-bottom:1px solid var(--ink)!important;
  border-radius:0!important;
  background:transparent!important;
}
.ld-rsvp-shared .rsvpSection .consent{
  border-radius:0!important;
  background:transparent!important;
}
.ld-rsvp-shared .rsvpSection .btn.btn-full{
  border-radius:0!important;
  box-shadow:none!important;
}

/* Details: target the real shared-block classes, not wildcard guesses. */
.ld-details .le-details{
  width:100%!important;
  padding:0!important;
  background:transparent!important;
  color:var(--ink)!important;
}
.ld-details .le-details__header{display:none!important}
.ld-details .le-details__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--line)!important;
}
.ld-details .le-details__card{
  position:relative!important;
  min-height:250px!important;
  padding:28px 26px 30px!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.ld-details .le-details__card:last-child{border-right:0!important}
.ld-details .le-details__card::after{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  top:70px;
  height:1px;
  background:var(--accent);
  opacity:.9;
}
.ld-details .le-details__card-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  height:24px!important;
  margin:0 0 38px!important;
  color:var(--accent)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  font:600 13px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.08em!important;
}
.ld-details .le-details__card-icon img{width:24px!important;height:24px!important;object-fit:contain!important}
.ld-details .le-details__provider{
  margin:0 0 8px!important;
  color:var(--accent)!important;
  font:700 10px/1.3 Manrope,Arial,sans-serif!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.ld-details .le-details__card-title{
  margin:0 0 14px!important;
  color:var(--ink)!important;
  font:400 27px/1.15 Prata,Georgia,serif!important;
}
.ld-details .le-details__card-text{
  margin:0!important;
  color:var(--muted)!important;
  font:400 15px/1.7 Manrope,Arial,sans-serif!important;
}
.ld-details .le-details__wishlist-button{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  margin-top:22px!important;
  padding:0 0 5px!important;
  color:var(--accent)!important;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  background:transparent!important;
  border-radius:0!important;
  text-decoration:none!important;
}
.ld-details .le-details__wishlist-button svg{width:17px!important;height:17px!important}

/* Contacts: compact editorial strip using actual classes. */
.ld-contacts .ivi-contacts{
  width:100%!important;
  padding:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  overflow:visible!important;
}
.ld-contacts .ivi-contacts__inner{width:100%!important;max-width:none!important}
.ld-contacts .ivi-contacts__head{display:none!important}
.ld-contacts .ivi-contacts__grid{
  display:grid!important;
  grid-template-columns:repeat(var(--ivi-contacts-count,1),minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--line)!important;
}
.ld-contacts .ivi-contact{
  position:relative!important;
  min-height:260px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:30px 28px!important;
  text-align:left!important;
  background:transparent!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.ld-contacts .ivi-contact:last-child{border-right:0!important}
.ld-contacts .ivi-contact__avatar{
  width:44px!important;
  height:44px!important;
  margin:0 0 24px!important;
  color:var(--accent)!important;
  background:var(--accent-soft)!important;
  border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)!important;
  border-radius:50%!important;
}
.ld-contacts .ivi-contact__avatar svg{width:21px!important;height:21px!important;margin:0!important}
.ld-contacts .ivi-contact__name{
  margin:0!important;
  color:var(--ink)!important;
  font:400 30px/1.1 Prata,Georgia,serif!important;
}
.ld-contacts .ivi-contact__role{
  margin:8px 0 0!important;
  color:var(--muted)!important;
  font:500 13px/1.45 Manrope,Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.ld-contacts .ivi-contact__phone{
  margin:22px 0 0!important;
  color:var(--ink)!important;
  font:500 16px/1.4 Manrope,Arial,sans-serif!important;
  text-decoration:none!important;
}
.ld-contacts .ivi-contact__actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin-top:auto!important;
  padding-top:24px!important;
}
.ld-contacts .ivi-contact__action{
  min-height:40px!important;
  margin:0!important;
  padding:9px 13px!important;
  color:var(--accent)!important;
  background:transparent!important;
  border:1px solid var(--line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font:600 12px/1 Manrope,Arial,sans-serif!important;
}
.ld-contacts .ivi-contact__action:hover{
  border-color:var(--accent)!important;
  background:var(--accent-soft)!important;
  transform:none!important;
}

@media(max-width:900px){
  .ld-details .le-details__grid{grid-template-columns:1fr 1fr!important}
  .ld-details .le-details__card:nth-child(2n){border-right:0!important}
  .ld-details .le-details__card:nth-child(n+3){border-top:1px solid var(--line)!important}
  .ld-contacts .ivi-contacts__grid{grid-template-columns:1fr 1fr!important}
  .ld-contacts .ivi-contact:nth-child(2n){border-right:0!important}
  .ld-contacts .ivi-contact:nth-child(n+3){border-top:1px solid var(--line)!important}
}
@media(max-width:620px){
  .ld-rsvp-shared .rsvpSection .chips{grid-template-columns:1fr!important}
  .ld-details .le-details__grid,.ld-contacts .ivi-contacts__grid{grid-template-columns:1fr!important}
  .ld-details .le-details__card,.ld-contacts .ivi-contact{
    border-right:0!important;
    border-top:1px solid var(--line)!important;
  }
  .ld-details .le-details__card:first-child,.ld-contacts .ivi-contact:first-child{border-top:0!important}
  .ld-details .le-details__card{min-height:0!important;padding:24px 20px!important}
  .ld-details .le-details__card::after{left:20px;right:20px}
  .ld-contacts .ivi-contact{min-height:220px!important;padding:26px 22px!important}
}

/* LOVE DAILY: final exact overrides for shared RSVP and Details */
.ld-rsvp-shared{padding:28px 30px!important}
.ld-rsvp-shared .rsvpSection .rsvpSectionHead{display:none!important}
.ld-rsvp-shared .rsvpSection .rsvpFormCard{
  width:100%!important;max-width:none!important;margin:0!important;
  padding:28px 30px 30px!important;border:1px solid var(--line)!important;
  border-radius:22px!important;background:color-mix(in srgb,var(--white) 72%,var(--paper))!important;
  box-shadow:none!important
}
.ld-rsvp-shared .rsvpSection #rsvpForm{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px 26px!important;align-items:start!important
}
.ld-rsvp-shared .rsvpSection #rsvpForm>.row2{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px!important}
.ld-rsvp-shared .rsvpSection #rsvpForm>.formRow{min-width:0!important}
.ld-rsvp-shared .rsvpSection #rsvpAttendanceFields{
  grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px 26px!important;align-items:start!important
}
.ld-rsvp-shared .rsvpSection #rsvpAttendanceFields>.row2{display:contents!important}
.ld-rsvp-shared .rsvpSection .formRow{display:grid!important;gap:9px!important;padding:0!important;border:0!important;min-height:0!important}
.ld-rsvp-shared .rsvpSection .label{font-size:13px!important;font-weight:500!important;color:var(--ink)!important}
.ld-rsvp-shared .rsvpSection .field{
  min-height:44px!important;padding:9px 0!important;border:0!important;border-bottom:1px solid var(--ink)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important
}
.ld-rsvp-shared .rsvpSection textarea.field{min-height:72px!important}
.ld-rsvp-shared .rsvpSection .chips{
  display:flex!important;flex-wrap:nowrap!important;gap:0!important;width:100%!important;
  border:1px solid var(--line)!important;border-radius:0!important;overflow:hidden!important;background:transparent!important
}
.ld-rsvp-shared .rsvpSection .chip{
  position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
  flex:1 1 0!important;min-width:0!important;min-height:44px!important;padding:10px 13px!important;
  border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;
  background:transparent!important;color:var(--ink)!important;box-shadow:none!important;transform:none!important;font-size:13px!important
}
.ld-rsvp-shared .rsvpSection .chip:last-child{border-right:0!important}
.ld-rsvp-shared .rsvpSection .chip::before{
  content:""!important;display:block!important;width:17px!important;height:17px!important;flex:0 0 17px!important;
  border:1px solid color-mix(in srgb,var(--ink) 45%,transparent)!important;border-radius:2px!important;background:transparent!important
}
.ld-rsvp-shared .rsvpSection [data-group="status"] .chip::before,
.ld-rsvp-shared .rsvpSection [data-group="attendance"] .chip::before,
.ld-rsvp-shared .rsvpSection [data-group="with_children"] .chip::before{border-radius:50%!important}
.ld-rsvp-shared .rsvpSection .chip::after{
  content:""!important;position:absolute!important;left:18px!important;top:50%!important;width:7px!important;height:7px!important;
  transform:translateY(-50%) scale(0)!important;background:var(--accent)!important;border-radius:1px!important;transition:.15s!important
}
.ld-rsvp-shared .rsvpSection [data-group="status"] .chip::after,
.ld-rsvp-shared .rsvpSection [data-group="attendance"] .chip::after,
.ld-rsvp-shared .rsvpSection [data-group="with_children"] .chip::after{border-radius:50%!important}
.ld-rsvp-shared .rsvpSection .chip[data-active="true"]::after,
.ld-rsvp-shared .rsvpSection .chip.is-active::after,
.ld-rsvp-shared .rsvpSection .chip.active::after{transform:translateY(-50%) scale(1)!important}
.ld-rsvp-shared .rsvpSection .chip[data-active="true"],
.ld-rsvp-shared .rsvpSection .chip.is-active,
.ld-rsvp-shared .rsvpSection .chip.active{
  background:color-mix(in srgb,var(--accent-soft) 62%,var(--paper))!important;color:var(--ink)!important;border-color:var(--line)!important
}
.ld-rsvp-shared .rsvpSection .rsvpTotal{width:max-content!important;min-height:36px!important;padding:0 13px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:transparent!important}
.ld-rsvp-shared .rsvpSection #rsvpForm>.formRow:has(.consent){grid-column:2!important;align-self:end!important}
.ld-rsvp-shared .rsvpSection .consent{
  display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;
  padding:15px!important;border:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;font-size:12px!important
}
.ld-rsvp-shared .rsvpSection .consent input{width:18px!important;height:18px!important;margin:2px 0 0!important;accent-color:var(--accent)!important}
.ld-rsvp-shared .rsvpSection .btn.btn-full,
.ld-rsvp-shared .rsvpSection #rsvpForm button[type="submit"]{
  grid-column:1/-1!important;width:100%!important;min-height:50px!important;margin:0!important;border-radius:0!important;
  background:var(--accent)!important;color:#fff!important;box-shadow:none!important;font-size:14px!important;text-transform:uppercase!important
}

/* Details: eliminate inherited decorative lines and use clean cards */
.ld-details{padding:0!important;border:0!important;background:transparent!important}
.ld-details .le-details{padding:0!important;background:transparent!important;border:0!important}
.ld-details .le-details__header{display:none!important}
.ld-details .le-details__grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;
  margin:0!important;padding:0!important;border:0!important;background:transparent!important
}
.ld-details .le-details__card{
  position:relative!important;display:block!important;min-height:170px!important;padding:24px!important;
  border:1px solid var(--line)!important;border-radius:18px!important;background:color-mix(in srgb,var(--white) 64%,var(--paper))!important;
  box-shadow:none!important;overflow:hidden!important
}
.ld-details .le-details__card::before,.ld-details .le-details__card::after,
.ld-details .le-details__card *::before,.ld-details .le-details__card *::after{box-shadow:none!important}
.ld-details .le-details__card::before,.ld-details .le-details__card::after{display:none!important;content:none!important}
.ld-details .le-details__card-icon{
  display:grid!important;place-items:center!important;width:44px!important;height:44px!important;margin:0 0 18px!important;
  border:0!important;border-radius:50%!important;background:color-mix(in srgb,var(--accent-soft) 72%,var(--paper))!important;color:var(--accent)!important
}
.ld-details .le-details__card-icon::before,.ld-details .le-details__card-icon::after{display:none!important;content:none!important}
.ld-details .le-details__card-title{margin:0 0 9px!important;font:400 25px/1.15 Prata,serif!important;color:var(--ink)!important}
.ld-details .le-details__card-text{margin:0!important;font-size:14px!important;line-height:1.6!important;color:var(--muted)!important}
.ld-details .le-details__provider{margin:0 0 7px!important;color:var(--accent)!important}
.ld-details .le-details__wishlist-button{margin-top:16px!important}

@media(max-width:900px){
  .ld-rsvp-shared{padding:22px!important}
  .ld-rsvp-shared .rsvpSection #rsvpForm,
  .ld-rsvp-shared .rsvpSection #rsvpAttendanceFields{grid-template-columns:1fr!important}
  .ld-rsvp-shared .rsvpSection #rsvpForm>.row2{grid-template-columns:1fr!important;gap:18px!important}
  .ld-rsvp-shared .rsvpSection #rsvpForm>.formRow:has(.consent){grid-column:auto!important}
  .ld-details .le-details__grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .ld-rsvp-shared{padding:14px!important}
  .ld-rsvp-shared .rsvpSection .rsvpFormCard{padding:20px 16px!important;border-radius:16px!important}
  .ld-rsvp-shared .rsvpSection .chips{flex-wrap:wrap!important}
  .ld-rsvp-shared .rsvpSection .chip{flex:1 1 50%!important;border-bottom:1px solid var(--line)!important}
}


/* =========================================================
   LOVE DAILY — FINAL RSVP / DETAILS LAYOUT
   Последний слой намеренно расположен в конце stylesheet,
   чтобы не перекрываться стилями общих боевых блоков.
========================================================= */
.ld-rsvp-shared{
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.ld-rsvp-shared .rsvpSection{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
.ld-rsvp-shared .rsvpSection .rsvpFormCard{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:30px!important;
  border:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:hidden!important;
}
.ld-rsvp-shared .rsvpSection #rsvpForm{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:28px!important;
  row-gap:20px!important;
  align-items:start!important;
}
.ld-rsvp-shared .rsvpSection #rsvpForm>.row2{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:28px!important;
  min-width:0!important;
}
.ld-rsvp-shared .rsvpSection #rsvpAttendanceFields{
  display:contents!important;
}
.ld-rsvp-shared .rsvpSection #rsvpAttendanceFields>.row2{
  display:contents!important;
}
.ld-rsvp-shared .rsvpSection .formRow{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
}
.ld-rsvp-shared .rsvpSection .label{
  margin:0!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:500!important;
  color:var(--ink)!important;
}
.ld-rsvp-shared .rsvpSection .field{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  padding:8px 0!important;
  border:0!important;
  border-bottom:1px solid var(--ink)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ld-rsvp-shared .rsvpSection textarea.field{
  min-height:66px!important;
  resize:vertical!important;
}
.ld-rsvp-shared .rsvpSection .chips{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;
  gap:0!important;
  border:1px solid var(--line)!important;
  background:transparent!important;
  overflow:hidden!important;
}
.ld-rsvp-shared .rsvpSection .chip{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  margin:0!important;
  padding:10px 10px 10px 40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:500!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.ld-rsvp-shared .rsvpSection .chip::before{
  content:""!important;
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  width:17px!important;
  height:17px!important;
  margin:0!important;
  border:1px solid color-mix(in srgb,var(--ink) 42%,transparent)!important;
  border-radius:2px!important;
  background:transparent!important;
  transform:translateY(-50%)!important;
  box-sizing:border-box!important;
}
.ld-rsvp-shared .rsvpSection [data-group="status"] .chip::before,
.ld-rsvp-shared .rsvpSection [data-group="attendance"] .chip::before,
.ld-rsvp-shared .rsvpSection [data-group="with_children"] .chip::before{
  border-radius:50%!important;
}
.ld-rsvp-shared .rsvpSection .chip::after{
  content:"✓"!important;
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  width:17px!important;
  height:17px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:2px!important;
  background:var(--accent)!important;
  color:var(--white,#fff)!important;
  font-size:11px!important;
  line-height:1!important;
  opacity:0!important;
  transform:translateY(-50%) scale(.65)!important;
  transition:.18s ease!important;
}
.ld-rsvp-shared .rsvpSection [data-group="status"] .chip::after,
.ld-rsvp-shared .rsvpSection [data-group="attendance"] .chip::after,
.ld-rsvp-shared .rsvpSection [data-group="with_children"] .chip::after{
  border-radius:50%!important;
}
.ld-rsvp-shared .rsvpSection .chip[data-active="true"],
.ld-rsvp-shared .rsvpSection .chip.is-active,
.ld-rsvp-shared .rsvpSection .chip.active{
  background:color-mix(in srgb,var(--accent) 9%,transparent)!important;
  color:var(--ink)!important;
}
.ld-rsvp-shared .rsvpSection .chip[data-active="true"]::before,
.ld-rsvp-shared .rsvpSection .chip.is-active::before,
.ld-rsvp-shared .rsvpSection .chip.active::before{
  border-color:var(--accent)!important;
}
.ld-rsvp-shared .rsvpSection .chip[data-active="true"]::after,
.ld-rsvp-shared .rsvpSection .chip.is-active::after,
.ld-rsvp-shared .rsvpSection .chip.active::after{
  opacity:1!important;
  transform:translateY(-50%) scale(1)!important;
}
.ld-rsvp-shared .rsvpSection .rsvpTotal{
  width:max-content!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:transparent!important;
}
.ld-rsvp-shared .rsvpSection .consent{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:14px 16px!important;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  border:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.ld-rsvp-shared .rsvpSection .consent input{
  width:18px!important;
  height:18px!important;
  margin:1px 0 0!important;
  accent-color:var(--accent)!important;
}
.ld-rsvp-shared .rsvpSection #rsvpForm>.formRow:has(.consent){
  grid-column:2!important;
  align-self:end!important;
}
.ld-rsvp-shared .rsvpSection .btn.btn-full,
.ld-rsvp-shared .rsvpSection #rsvpForm button[type="submit"]{
  grid-column:1/-1!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Детали: прозрачный фон, одна спокойная сетка и точное центрирование номера. */
.ld-details{
  background:transparent!important;
}
.ld-details .le-details{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ld-details .le-details__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  border:1px solid var(--line)!important;
  background:transparent!important;
}
.ld-details .le-details__card{
  position:relative!important;
  min-height:210px!important;
  padding:26px 28px!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ld-details .le-details__card:last-child{
  border-right:0!important;
}
.ld-details .le-details__card::before,
.ld-details .le-details__card::after,
.ld-details .le-details__card *::before,
.ld-details .le-details__card *::after{
  box-shadow:none!important;
}
.ld-details .le-details__card::before,
.ld-details .le-details__card::after{
  display:none!important;
  content:none!important;
}
.ld-details .le-details__card-icon{
  width:50px!important;
  height:50px!important;
  margin:0 0 24px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid color-mix(in srgb,var(--accent) 55%,transparent)!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--accent)!important;
  font:600 12px/1 Manrope,sans-serif!important;
  letter-spacing:.05em!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.ld-details .le-details__card-icon::before,
.ld-details .le-details__card-icon::after{
  display:none!important;
  content:none!important;
}
.ld-details .le-details__card-icon img{
  width:23px!important;
  height:23px!important;
  margin:0!important;
  object-fit:contain!important;
}
.ld-details .le-details__card-title{
  margin:0 0 10px!important;
  font:400 27px/1.15 Prata,serif!important;
  color:var(--ink)!important;
}
.ld-details .le-details__card-text{
  margin:0!important;
  max-width:38ch!important;
  font-size:14px!important;
  line-height:1.6!important;
  color:var(--muted)!important;
}
.ld-details .le-details__provider{
  margin:0 0 7px!important;
  color:var(--accent)!important;
}

@media(max-width:980px){
  .ld-rsvp-shared .rsvpSection #rsvpForm,
  .ld-rsvp-shared .rsvpSection #rsvpForm>.row2{
    grid-template-columns:1fr!important;
  }
  .ld-rsvp-shared .rsvpSection #rsvpForm>.formRow:has(.consent){grid-column:auto!important}
  .ld-details .le-details__grid{grid-template-columns:1fr!important}
  .ld-details .le-details__card{
    min-height:0!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .ld-details .le-details__card:last-child{border-bottom:0!important}
}
@media(max-width:620px){
  .ld-rsvp-shared .rsvpSection .rsvpFormCard{padding:20px 16px!important}
  .ld-rsvp-shared .rsvpSection .chips{grid-template-columns:1fr!important}
  .ld-rsvp-shared .rsvpSection .chip{
    min-height:46px!important;
    border-right:0!important;
  }
  .ld-details .le-details__card{padding:22px 20px!important}
}


/* ===== FINAL LOCATION / RSVP / DETAILS / WISHLIST FIX ===== */
.story-editorial--text{display:block!important}
.story-editorial--text .story-copy{max-width:920px;margin:0 auto;padding:38px 42px!important}
.countdown-wrap--single{display:block!important}
.countdown-wrap--single .countdown-copy{max-width:none!important;min-height:0!important}

/* Real input markers: keep the tick fully inside its box. */
.ld-rsvp-shared .rsvpSection input[type="radio"],
.ld-rsvp-shared .rsvpSection input[type="checkbox"]{
  -webkit-appearance:none!important;appearance:none!important;
  position:relative!important;flex:0 0 18px!important;
  width:18px!important;height:18px!important;min-width:18px!important;
  margin:0!important;padding:0!important;border:1px solid color-mix(in srgb,var(--ink) 45%,transparent)!important;
  background:transparent!important;box-shadow:none!important;overflow:hidden!important;
  vertical-align:middle!important;transform:none!important;inset:auto!important;
}
.ld-rsvp-shared .rsvpSection input[type="radio"]{border-radius:50%!important}
.ld-rsvp-shared .rsvpSection input[type="checkbox"]{border-radius:1px!important}
.ld-rsvp-shared .rsvpSection input[type="radio"]:checked,
.ld-rsvp-shared .rsvpSection input[type="checkbox"]:checked{
  border-color:var(--accent)!important;background:var(--accent)!important;
}
.ld-rsvp-shared .rsvpSection input[type="radio"]:checked::after,
.ld-rsvp-shared .rsvpSection input[type="checkbox"]:checked::after{
  content:""!important;position:absolute!important;display:block!important;
  left:5px!important;top:2px!important;width:5px!important;height:9px!important;
  border:solid #fff!important;border-width:0 2px 2px 0!important;
  transform:rotate(45deg)!important;box-sizing:border-box!important;
}
.ld-rsvp-shared .rsvpSection .chip{overflow:hidden!important}

/* Location cards: time from Studio stays visible and never collapses. */
.location-info{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.location-time{display:flex!important;min-height:32px!important;white-space:nowrap!important;color:var(--ink)!important}
.location-card:not(:has(img)){grid-template-columns:1fr!important}
.location-card:not(:has(img)) .location-placeholder{display:none!important}

/* Details / wishlist: no floating divider lines. */
.ld-details .le-details__grid{border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
.ld-details .le-details__card{background:transparent!important}
.ld-details .le-details__card::before,.ld-details .le-details__card::after{display:none!important;content:none!important}
.ld-details .le-details__card-icon{display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}
.ld-details .le-details__card-icon>span{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;line-height:1!important}
.ld-details .le-details__card--wishlist{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;column-gap:22px!important;align-items:center!important}
.ld-details .le-details__card--wishlist .le-details__card-icon{grid-row:1/5;margin:0!important;width:58px!important;height:58px!important}
.ld-details .le-details__card--wishlist .le-details__provider,
.ld-details .le-details__card--wishlist .le-details__card-title,
.ld-details .le-details__card--wishlist .le-details__card-text,
.ld-details .le-details__card--wishlist .le-details__wishlist-button{grid-column:2!important}
.ld-details .le-details__wishlist-button{display:inline-flex!important;width:max-content!important;align-items:center!important;gap:8px!important;margin-top:13px!important;padding:0 0 4px!important;border:0!important;border-bottom:1px solid currentColor!important;background:transparent!important;color:var(--accent)!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:700px){
  .story-editorial--text .story-copy{padding:26px 22px!important}
  .ld-details .le-details__card--wishlist{grid-template-columns:52px minmax(0,1fr)!important;column-gap:16px!important}
  .ld-details .le-details__card--wishlist .le-details__card-icon{width:48px!important;height:48px!important}
}

/* === LOVE DAILY precise final fixes === */
/* Taller gallery images and Fancybox-ready links. */
.gallery a{aspect-ratio:4/5!important;min-height:260px!important}
.gallery img{width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:760px){.gallery a{min-height:220px!important}}

/* RSVP markers: use a contained SVG tick, never pseudo-elements that escape. */
.ld-rsvp-shared .rsvpSection input[type="radio"],
.ld-rsvp-shared .rsvpSection input[type="checkbox"]{
  appearance:none!important;-webkit-appearance:none!important;
  width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px!important;
  margin:0 10px 0 0!important;padding:0!important;position:relative!important;inset:auto!important;
  border:1px solid color-mix(in srgb,var(--ink) 42%,transparent)!important;
  background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:10px 10px!important;
  box-shadow:none!important;overflow:hidden!important;transform:none!important;
}
.ld-rsvp-shared .rsvpSection input[type="radio"]{border-radius:50%!important}
.ld-rsvp-shared .rsvpSection input[type="checkbox"]{border-radius:2px!important}
.ld-rsvp-shared .rsvpSection input[type="radio"]::before,
.ld-rsvp-shared .rsvpSection input[type="radio"]::after,
.ld-rsvp-shared .rsvpSection input[type="checkbox"]::before,
.ld-rsvp-shared .rsvpSection input[type="checkbox"]::after{content:none!important;display:none!important}
.ld-rsvp-shared .rsvpSection input[type="radio"]:checked,
.ld-rsvp-shared .rsvpSection input[type="checkbox"]:checked{
  border-color:var(--accent)!important;background-color:var(--accent)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.7 9 10 3' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
.ld-rsvp-shared .rsvpSection label:has(>input[type="radio"]),
.ld-rsvp-shared .rsvpSection label:has(>input[type="checkbox"]){align-items:center!important;overflow:hidden!important}

/* Location time must remain visible. */
.location-time{display:flex!important;align-items:center!important;gap:7px!important;min-height:28px!important;margin-top:16px!important;font-size:16px!important;line-height:1!important;opacity:1!important;visibility:visible!important}

/* Shared details: clean cards and a compact wishlist, no stray divider strokes. */
.ld-details .le-details,
.ld-details .le-details__grid,
.ld-details .le-details__card,
.ld-details .le-details__card--wishlist{background:transparent!important}
.ld-details .le-details__grid{border:0!important;gap:0!important}
.ld-details .le-details__card{border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;padding:22px 28px!important;min-height:0!important}
.ld-details .le-details__card:last-child{border-right:0!important}
.ld-details .le-details__card::before,.ld-details .le-details__card::after,
.ld-details .le-details__card *::before,.ld-details .le-details__card *::after{box-shadow:none!important}
.ld-details .le-details__card--wishlist{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;grid-template-rows:auto auto auto auto!important;column-gap:22px!important;row-gap:5px!important;align-items:start!important}
.ld-details .le-details__card--wishlist .le-details__card-icon{grid-column:1!important;grid-row:1/5!important;width:58px!important;height:58px!important;margin:0!important;border:1px solid var(--accent)!important;border-radius:50%!important;align-self:start!important}
.ld-details .le-details__card--wishlist .le-details__provider,
.ld-details .le-details__card--wishlist .le-details__card-title,
.ld-details .le-details__card--wishlist .le-details__card-text,
.ld-details .le-details__card--wishlist .le-details__wishlist-button{grid-column:2!important;margin-left:0!important}
.ld-details .le-details__card--wishlist .le-details__provider{margin:0 0 2px!important}
.ld-details .le-details__card--wishlist .le-details__card-title{margin:0!important}
.ld-details .le-details__card--wishlist .le-details__card-text{margin:4px 0 0!important;max-width:42ch!important}
.ld-details .le-details__wishlist-button{margin-top:10px!important;padding:0 0 3px!important;border:0!important;border-bottom:1px solid currentColor!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;width:max-content!important}
@media(max-width:760px){
 .ld-details .le-details__card{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:20px 0!important}
 .ld-details .le-details__card:last-child{border-bottom:0!important}
 .ld-details .le-details__card--wishlist{grid-template-columns:48px minmax(0,1fr)!important;column-gap:15px!important}
 .ld-details .le-details__card--wishlist .le-details__card-icon{width:48px!important;height:48px!important}
}


/* === RSVP DECLINED STATE + WISHLIST DIVIDER FIX === */
/* The shared RSVP script sets display:none inline when “Не смогу” is selected.
   Earlier display:contents!important rules prevented that state from hiding. */
.ld-rsvp-shared .rsvpSection #rsvpAttendanceFields[style*="display: none"],
.ld-rsvp-shared .rsvpSection #rsvpAttendanceFields[style*="display:none"]{
  display:none!important;
}
/* Keep only the basic comment/consent/submit controls after declining. */
.ld-rsvp-shared .rsvpSection #rsvpForm.is-declined #rsvpAttendanceFields{
  display:none!important;
}
/* Wishlist must not inherit the column divider from normal detail cards. */
.ld-details .le-details__card--wishlist{
  border-right:0!important;
  border-left:0!important;
}
.ld-details .le-details__card--wishlist::before,
.ld-details .le-details__card--wishlist::after{
  display:none!important;
  content:none!important;
}
/* Remove divider fragments inherited by nested wishlist elements. */
.ld-details .le-details__card--wishlist,
.ld-details .le-details__card--wishlist > *,
.ld-details .le-details__card--wishlist .le-details__provider,
.ld-details .le-details__card--wishlist .le-details__card-title,
.ld-details .le-details__card--wishlist .le-details__card-text,
.ld-details .le-details__card--wishlist .le-details__wishlist-button{
  border-left:0!important;
  border-right:0!important;
  background-image:none!important;
  box-shadow:none!important;
}
.ld-details .le-details__card--wishlist > *::before,
.ld-details .le-details__card--wishlist > *::after{
  content:none!important;
  display:none!important;
  border:0!important;
}
/* Keep only the intended icon ring and button underline. */
.ld-details .le-details__card--wishlist .le-details__card-icon{
  border:1px solid var(--accent)!important;
}
.ld-details .le-details__card--wishlist .le-details__wishlist-button{
  border-bottom:1px solid currentColor!important;
}

@media (max-width:760px){
  .dresscode{
    display:block!important;
    padding:20px 16px!important;
  }
  .dresscode>div:first-child{
    margin-bottom:18px!important;
  }
  .dresscode h2{
    font-size:clamp(30px,9vw,38px)!important;
    line-height:1.08!important;
  }
  .dresscode p{
    font-size:14px!important;
    line-height:1.55!important;
  }
  .palette{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px 10px!important;
    align-items:start!important;
  }
  .swatch,
  .swatch:last-child{
    grid-column:auto!important;
    min-width:0!important;
  }
  .swatch i{
    width:58px!important;
    height:58px!important;
    margin-bottom:7px!important;
  }
  .swatch span{
    display:block!important;
    font-size:9px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  .dress-note{
    margin-top:20px!important;
    padding-top:16px!important;
    border-top:1px solid var(--line)!important;
    text-align:left!important;
    font-size:19px!important;
    line-height:1.35!important;
  }

  .map-link{
    width:100%!important;
    margin-top:14px!important;
    min-height:48px!important;
  }
}
@media (max-width:430px){
  .palette{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px 12px!important;
  }
  .swatch i{
    width:56px!important;
    height:56px!important;
  }
}

/* =========================================================
   LOVE DAILY · production shared blocks
   Styles only. Data and markup remain in /views/blocks/*.php
========================================================= */
.ld-block{min-width:0}
.ld-block>section{width:100%;max-width:none;margin:0}

/* Common editorial heading */
.iviGalleryHead,.iviLocHead{
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title kicker" "subtitle subtitle";
  align-items:start;gap:8px 24px;margin:0 0 28px;padding:0 0 22px;border-bottom:1px solid var(--line)
}
.iviGalleryKicker,.iviLocKicker{
  grid-area:kicker;align-self:center;color:var(--accent);font:700 10px/1.2 Manrope,Arial,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;white-space:nowrap
}
.iviGalleryTitle,.iviLocTitle{
  grid-area:title;margin:0!important;color:var(--ink);font:400 clamp(38px,4.3vw,68px)/1.02 Prata,serif!important;
  letter-spacing:-.035em
}
.iviGallerySubtitle{
  grid-area:subtitle;max-width:760px;margin:4px 0 0;color:var(--muted);font:400 15px/1.7 Manrope,Arial,sans-serif
}

/* Gallery, same clean magazine rhythm as the previous custom block */
.iviGallery{padding:0;background:transparent}
.iviGalleryGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.iviGalleryGrid--masonry{columns:auto;display:grid}
.iviGalleryItem{
  position:relative;display:block;overflow:hidden;aspect-ratio:1/1.03;border:1px solid var(--line);
  border-radius:6px;background:var(--paper2);text-decoration:none
}
.iviGalleryItem img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}
.iviGalleryItem:hover img{transform:scale(1.045)}
.iviGalleryCaption{
  position:absolute;left:10px;right:10px;bottom:10px;margin:0;padding:8px 10px;
  background:color-mix(in srgb,var(--ink) 76%,transparent);color:#fff;font:600 11px/1.35 Manrope,Arial,sans-serif
}

/* Location, restored two-column editorial cards */
.iviLoc{padding:0;background:transparent}
.iviLocGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.iviLocCard{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(250px,.92fr);min-height:318px;overflow:hidden;
  border:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--paper) 86%,white);box-shadow:none
}
.iviLocGrid>.iviLocCard:only-child{grid-column:1/-1}
.iviLocPhoto{min-height:318px;background:var(--paper2)}
.iviLocPhoto img{display:block;width:100%;height:100%;object-fit:cover}
.iviLocBody{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px}
.iviLocBadge{
  display:inline-flex;align-items:center;min-height:25px;padding:5px 10px;border-radius:999px;
  background:var(--accent);color:#fff;font:700 10px/1 Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase
}
.iviLocName{margin:14px 0 8px;color:var(--ink);font:400 27px/1.18 Prata,serif}
.iviLocAddr{color:var(--muted);font:500 14px/1.6 Manrope,Arial,sans-serif}
.iviLocNote{margin:16px 0 0;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font:400 13px/1.6 Manrope,Arial,sans-serif}
.iviLocActions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto;padding-top:22px}
.iviLoc .iviBtn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 16px;
  border:1px solid var(--accent);border-radius:0;text-decoration:none;font:700 10px/1 Manrope,Arial,sans-serif;
  letter-spacing:.12em;text-transform:uppercase;transition:.2s ease
}
.iviLoc .iviBtnPrimary{background:var(--accent);color:#fff}
.iviLoc .iviBtnGhost{background:transparent;color:var(--accent)}
.iviLoc .iviBtn:hover{transform:translateY(-1px);filter:brightness(.96)}

/* RSVP, style the real shared markup rather than replacing it */
.ld-rsvp-shared{padding-top:32px;border-top:1px solid var(--line)}
.ld-rsvp-shared .rsvpSection{padding:0!important;background:transparent!important;color:var(--ink)!important}
.ld-rsvp-shared .rsvpSectionHead{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 24px;
  margin:0 0 26px!important;padding:0 0 22px!important;border-bottom:1px solid var(--line)!important
}
.ld-rsvp-shared .rsvpSectionHead h2,.ld-rsvp-shared .rsvpSectionHead .rsvpTitle{
  margin:0!important;font:400 clamp(38px,4.3vw,68px)/1.02 Prata,serif!important;color:var(--ink)!important
}
.ld-rsvp-shared .rsvpLabel{
  color:var(--accent)!important;font:700 10px/1.2 Manrope,Arial,sans-serif!important;
  letter-spacing:.22em!important;text-transform:uppercase!important
}
.ld-rsvp-shared .rsvpHint{grid-column:1/-1;color:var(--muted)!important;font:400 14px/1.65 Manrope,Arial,sans-serif!important}
.ld-rsvp-shared .rsvpGrid{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
.ld-rsvp-shared .rsvpFormCard{
  padding:32px 34px!important;border:1px solid var(--line)!important;border-radius:0!important;
  background:linear-gradient(145deg,var(--accent-soft),transparent 68%)!important;box-shadow:none!important
}
.ld-rsvp-shared #rsvpForm{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 24px!important}
.ld-rsvp-shared .row2,.ld-rsvp-shared #rsvpAttendanceFields{display:contents!important}
.ld-rsvp-shared .formRow{display:grid!important;gap:8px!important;min-width:0!important}
.ld-rsvp-shared .label{color:var(--ink)!important;font:700 12px/1.35 Manrope,Arial,sans-serif!important}
.ld-rsvp-shared .field{
  width:100%!important;min-height:44px!important;padding:10px 0!important;border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 68%,transparent)!important;border-radius:0!important;
  background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font:500 14px/1.35 Manrope,Arial,sans-serif!important
}
.ld-rsvp-shared textarea.field{min-height:82px!important;resize:vertical}
.ld-rsvp-shared .chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.ld-rsvp-shared .chip{
  min-height:42px!important;padding:10px 13px!important;border:1px solid var(--line)!important;border-radius:0!important;
  background:color-mix(in srgb,var(--paper) 90%,white)!important;color:var(--ink)!important;
  font:600 12px/1.25 Manrope,Arial,sans-serif!important;box-shadow:none!important
}
.ld-rsvp-shared .chip:hover,.ld-rsvp-shared .chip.is-active,.ld-rsvp-shared .chip.active,.ld-rsvp-shared .chip[data-active="true"]{
  border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent)!important
}
.ld-rsvp-shared .consent{grid-column:1/-1!important;padding:14px 16px!important;border:1px solid var(--line)!important;background:transparent!important}
.ld-rsvp-shared .btn.btn-full{
  grid-column:1/-1!important;width:100%!important;min-height:50px!important;border:1px solid var(--accent)!important;
  border-radius:0!important;background:var(--accent)!important;color:#fff!important;font:700 12px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;box-shadow:none!important
}
.ld-rsvp-shared .statusBox{border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important}

/* Other shared blocks inherit the same page width and editorial tone */
.ld-dresscode,.ld-details,.ld-contacts{min-width:0}
.ld-dresscode>section,.ld-details>section,.ld-contacts>section{max-width:none!important;margin:0!important}

@media(max-width:1100px){
  .iviGalleryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .iviLocGrid{grid-template-columns:1fr}
  .iviLocGrid>.iviLocCard:only-child{grid-column:auto}
}
@media(max-width:760px){
  .iviGalleryHead,.iviLocHead,.ld-rsvp-shared .rsvpSectionHead{grid-template-columns:1fr;grid-template-areas:"kicker" "title" "subtitle";gap:9px}
  .iviGalleryKicker,.iviLocKicker{justify-self:start}
  .iviGalleryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .iviLocCard{grid-template-columns:1fr;min-height:0}
  .iviLocPhoto{min-height:0;aspect-ratio:16/10}
  .iviLocBody{padding:22px}
  .iviLocName{font-size:24px}
  .ld-rsvp-shared .rsvpSectionHead{display:grid!important}
  .ld-rsvp-shared .rsvpFormCard{padding:24px 20px!important}
  .ld-rsvp-shared #rsvpForm{grid-template-columns:1fr!important}
  .ld-rsvp-shared .consent,.ld-rsvp-shared .btn.btn-full{grid-column:auto!important}
}
@media(max-width:460px){
  .iviGalleryGrid{grid-template-columns:1fr 1fr}
  .iviGalleryItem{aspect-ratio:1/1.18}
  .iviLocActions{display:grid;width:100%}
  .iviLoc .iviBtn{width:100%}
  .ld-rsvp-shared .chips{display:grid!important;grid-template-columns:1fr!important}
}

/* Shared block editorial headers */
.ld-shared-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title kicker" "subtitle subtitle";
  align-items:start;
  gap:10px 28px;
  margin-bottom:28px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.ld-shared-head h2{
  grid-area:title;
  margin:0;
  color:var(--ink);
  font-family:Prata,Georgia,serif;
  font-size:clamp(42px,5.4vw,76px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.035em;
}
.ld-shared-head .eyebrow{
  grid-area:kicker;
  align-self:center;
  justify-self:end;
  color:var(--accent);
  font-size:10px;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.ld-shared-subtitle{
  grid-area:subtitle;
  max-width:820px;
  margin:0;
  color:var(--muted);
  font:400 15px/1.7 Manrope,Arial,sans-serif;
}
.ld-location>.iviLoc,
.ld-rsvp-shared>.rsvpSection{
  margin:0!important;
}
.ld-location .iviLocHead,
.ld-rsvp-shared .rsvpSectionHead{
  display:none!important;
}
@media(max-width:700px){
  .ld-shared-head{
    grid-template-columns:1fr;
    grid-template-areas:"kicker" "title" "subtitle";
    gap:8px;
    margin-bottom:20px;
  }
  .ld-shared-head .eyebrow{justify-self:start}
  .ld-shared-head h2{font-size:clamp(36px,11vw,56px)}
  .ld-shared-subtitle{font-size:14px;line-height:1.6}
}

/* =========================================================
   RSVP split layout + restored shared dress-code block
========================================================= */
.ld-rsvp-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.65fr);
  gap:clamp(34px,5vw,82px);
  align-items:start;
}
.ld-rsvp-layout>.ld-rsvp-head{
  position:sticky;
  top:32px;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
  margin:0!important;
  padding:4px 0 26px!important;
  border-top:0!important;
  border-bottom:1px solid var(--line)!important;
}
.ld-rsvp-layout>.ld-rsvp-head .eyebrow{order:0;justify-self:auto!important;align-self:auto!important}
.ld-rsvp-layout>.ld-rsvp-head h2{order:1;font-size:clamp(48px,5.8vw,88px);line-height:.98}
.ld-rsvp-layout>.ld-rsvp-head .ld-shared-subtitle{order:2;max-width:360px;font-size:15px;line-height:1.72}
.ld-rsvp-form{min-width:0}
.ld-rsvp-form>.rsvpSection{margin:0!important}
.ld-rsvp-form .rsvpSectionHead{display:none!important}
.ld-rsvp-form .rsvpFormCard{padding:0!important;border:0!important;background:transparent!important}
.ld-rsvp-form #rsvpForm{grid-template-columns:repeat(2,minmax(0,1fr))!important}

.ld-dresscode{
  padding-top:34px;
  border-top:1px solid var(--line);
}
.ld-dresscode>.ld-dresscode-head{
  display:block;
  margin:0 0 30px;
  padding:0;
  border:0;
}
.ld-dresscode-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title kicker" "text text";gap:10px 28px;align-items:start}
.ld-dresscode-copy .eyebrow{grid-area:kicker;justify-self:end;align-self:center;color:var(--accent);font:700 10px/1.2 Manrope,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.ld-dresscode-copy h2{grid-area:title;margin:0;color:var(--ink);font:400 clamp(42px,5.4vw,76px)/1.08 Prata,Georgia,serif;letter-spacing:-.035em}
.ld-dresscode-copy .ld-shared-subtitle{grid-area:text;max-width:820px}
.ld-dresscode-body{min-width:0}
.ld-dresscode-body>section,.ld-dresscode-body>.dresscode,.ld-dresscode-body>[class*="dress"]{max-width:none!important;margin:0!important}
.ld-dresscode-body .dresscode>div:first-child,
.ld-dresscode-body .dresscode-header,
.ld-dresscode-body .dc-head,
.ld-dresscode-body .iviDressHead{display:none!important}
.ld-dresscode-body .palette,
.ld-dresscode-body .dresscode-palette,
.ld-dresscode-body .dc-palette,
.ld-dresscode-body .iviDressPalette{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important;
  gap:18px!important;
  align-items:start!important;
}
.ld-dresscode-body .swatch,
.ld-dresscode-body .dresscode-color,
.ld-dresscode-body .dc-color,
.ld-dresscode-body .iviDressColor{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  min-width:0!important;
  text-align:center!important;
}
.ld-dresscode-body .swatch i,
.ld-dresscode-body .swatch-color,
.ld-dresscode-body .dresscode-color__circle,
.ld-dresscode-body .dc-color__circle,
.ld-dresscode-body .iviDressColorDot{
  display:block!important;
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  border:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;
  border-radius:50%!important;
  box-shadow:inset 0 0 0 7px color-mix(in srgb,var(--paper) 74%,transparent),0 8px 24px rgba(15,23,42,.08)!important;
}
.ld-dresscode-body .swatch span,
.ld-dresscode-body .dresscode-color__name,
.ld-dresscode-body .dc-color__name,
.ld-dresscode-body .iviDressColorName{
  display:block!important;
  color:var(--muted)!important;
  font:600 11px/1.35 Manrope,Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.ld-dresscode-body .dress-note,
.ld-dresscode-body .dresscode-note,
.ld-dresscode-body .dc-note,
.ld-dresscode-body .iviDressNote{
  margin-top:26px!important;
  padding-top:20px!important;
  border-top:1px solid var(--line)!important;
  color:var(--muted)!important;
  font:400 14px/1.7 Manrope,Arial,sans-serif!important;
}
@media(max-width:980px){
  .ld-rsvp-layout{grid-template-columns:1fr;gap:28px}
  .ld-rsvp-layout>.ld-rsvp-head{position:static;max-width:760px}
  .ld-rsvp-layout>.ld-rsvp-head .ld-shared-subtitle{max-width:760px}
}
@media(max-width:700px){
  .ld-rsvp-form #rsvpForm{grid-template-columns:1fr!important}
  .ld-dresscode-copy{grid-template-columns:1fr;grid-template-areas:"kicker" "title" "text";gap:8px}
  .ld-dresscode-copy .eyebrow{justify-self:start}
  .ld-dresscode-body .palette,
  .ld-dresscode-body .dresscode-palette,
  .ld-dresscode-body .dc-palette,
  .ld-dresscode-body .iviDressPalette{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px 10px!important}
  .ld-dresscode-body .swatch i,
  .ld-dresscode-body .swatch-color,
  .ld-dresscode-body .dresscode-color__circle,
  .ld-dresscode-body .dc-color__circle,
  .ld-dresscode-body .iviDressColorDot{width:64px!important;height:64px!important;min-width:64px!important}
}
@media(max-width:430px){
  .ld-dresscode-body .palette,
  .ld-dresscode-body .dresscode-palette,
  .ld-dresscode-body .dc-palette,
  .ld-dresscode-body .iviDressPalette{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* =========================================================
   FINAL SPACING + COLORED RSVP + VISIBLE DRESSCODE PALETTE
========================================================= */
main > .section,
main > .ld-block{
  margin-top:72px!important;
  padding-top:52px!important;
  padding-bottom:52px!important;
}
main > .section:first-child{margin-top:0!important}
.ld-location + .ld-dresscode,
.ld-dresscode + .ld-details,
.ld-details + .ld-contacts,
.ld-contacts + .ld-rsvp-shared{
  margin-top:88px!important;
}

.ld-rsvp-layout{
  gap:0!important;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--paper) 92%,white);
}
.ld-rsvp-layout>.ld-rsvp-head{
  position:relative!important;
  top:auto!important;
  min-height:100%;
  padding:54px 42px!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  background:
    radial-gradient(420px 260px at 15% 15%,color-mix(in srgb,var(--accent2) 45%,transparent),transparent 68%),
    linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 78%,#08182f));
  color:#fff;
  justify-content:center;
}
.ld-rsvp-layout>.ld-rsvp-head .eyebrow,
.ld-rsvp-layout>.ld-rsvp-head h2,
.ld-rsvp-layout>.ld-rsvp-head .ld-shared-subtitle{color:#fff!important}
.ld-rsvp-layout>.ld-rsvp-head .eyebrow{opacity:.82}
.ld-rsvp-layout>.ld-rsvp-head .ld-shared-subtitle{opacity:.82}
.ld-rsvp-layout>.ld-rsvp-head:after{
  content:"";
  width:64px;
  height:3px;
  margin-top:12px;
  background:#fff;
  opacity:.7;
}
.ld-rsvp-form{padding:36px 30px 28px!important}

/* Dress code: support the actual shared-block variants and inline color nodes. */
.ld-dresscode-body :is(
  .iviDressPalette,.iviDressColors,.iviDressGrid,
  .dresscode-palette,.dresscode-colors,.dresscode-grid,
  .dc-palette,.dc-colors,.dc-grid,
  .palette,.colors,[class*="palette"],[class*="colors"]
){
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;
  gap:24px 18px!important;
  align-items:start!important;
  width:100%!important;
  margin:26px 0 0!important;
}
.ld-dresscode-body :is(
  .iviDressColor,.iviDressItem,.dresscode-color,.dresscode-item,
  .dc-color,.dc-item,.swatch,[class*="color-item"],[class*="swatch"]
){
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  min-width:0!important;
  text-align:center!important;
}
.ld-dresscode-body :is(
  .iviDressColorDot,.iviDressDot,.dresscode-color__circle,.dresscode-dot,
  .dc-color__circle,.dc-dot,.swatch-color,.swatch i,
  [class*="color-dot"],[class*="color-circle"],[class*="swatch-color"]
){
  display:block!important;
  width:86px!important;
  height:86px!important;
  min-width:86px!important;
  aspect-ratio:1!important;
  border-radius:50%!important;
  border:1px solid color-mix(in srgb,var(--ink) 20%,transparent)!important;
  box-shadow:inset 0 0 0 8px var(--paper),0 10px 28px rgba(15,23,42,.1)!important;
  overflow:hidden!important;
}
/* Many shared blocks print the color directly on a child div/span via style="background...". */
.ld-dresscode-body :is([class*="palette"],[class*="colors"],[class*="grid"]) > * > :is(div,span,i)[style*="background"],
.ld-dresscode-body :is([class*="palette"],[class*="colors"],[class*="grid"]) > :is(div,span,i)[style*="background"]{
  display:block!important;
  width:86px!important;
  height:86px!important;
  min-width:86px!important;
  aspect-ratio:1!important;
  margin:0 auto!important;
  border-radius:50%!important;
  border:1px solid color-mix(in srgb,var(--ink) 20%,transparent)!important;
  box-shadow:inset 0 0 0 8px var(--paper),0 10px 28px rgba(15,23,42,.1)!important;
}
.ld-dresscode-body :is(.iviDressColorName,.dresscode-color__name,.dc-color__name,[class*="color-name"],[class*="swatch-name"]){
  color:var(--muted)!important;
  font:700 11px/1.35 Manrope,Arial,sans-serif!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.ld-dresscode-body{padding-bottom:10px}

@media(max-width:980px){
  main > .section,main > .ld-block{margin-top:56px!important;padding-top:40px!important;padding-bottom:40px!important}
  .ld-rsvp-layout>.ld-rsvp-head{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:0;padding:38px 30px!important}
  .ld-rsvp-form{padding:28px 24px!important}
}
@media(max-width:700px){
  main > .section,main > .ld-block{margin-top:42px!important;padding-top:32px!important;padding-bottom:32px!important}
  .ld-location + .ld-dresscode,.ld-dresscode + .ld-details,.ld-details + .ld-contacts,.ld-contacts + .ld-rsvp-shared{margin-top:52px!important}
  .ld-rsvp-layout>.ld-rsvp-head{padding:32px 22px!important}
  .ld-rsvp-form{padding:22px 16px!important}
  .ld-dresscode-body :is(.iviDressPalette,.iviDressColors,.iviDressGrid,.dresscode-palette,.dresscode-colors,.dresscode-grid,.dc-palette,.dc-colors,.dc-grid,.palette,.colors,[class*="palette"],[class*="colors"]){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px 10px!important}
  .ld-dresscode-body :is(.iviDressColorDot,.iviDressDot,.dresscode-color__circle,.dresscode-dot,.dc-color__circle,.dc-dot,.swatch-color,.swatch i,[class*="color-dot"],[class*="color-circle"],[class*="swatch-color"]),
  .ld-dresscode-body :is([class*="palette"],[class*="colors"],[class*="grid"]) > * > :is(div,span,i)[style*="background"],
  .ld-dresscode-body :is([class*="palette"],[class*="colors"],[class*="grid"]) > :is(div,span,i)[style*="background"]{width:66px!important;height:66px!important;min-width:66px!important;box-shadow:inset 0 0 0 6px var(--paper),0 8px 20px rgba(15,23,42,.08)!important}
}

/* =========================================================
   V6: DETAILS / CONTACTS HEADERS, COMPACT RSVP, REAL DRESS COLORS
========================================================= */
.ld-editorial-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title kicker" "text text";
  gap:10px 28px;
  align-items:start;
  margin:0 0 30px!important;
  padding:0 0 28px!important;
  border-top:0!important;
  border-bottom:1px solid var(--line)!important;
}
.ld-editorial-head .eyebrow{grid-area:kicker;justify-self:end;color:var(--accent);font:700 10px/1.2 Manrope,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.ld-editorial-head h2{grid-area:title;margin:0;color:var(--ink);font:400 clamp(42px,5.4vw,76px)/1.08 Prata,Georgia,serif;letter-spacing:-.035em}
.ld-editorial-head .ld-shared-subtitle{grid-area:text;max-width:820px;margin:0;color:var(--muted);font:400 14px/1.7 Manrope,Arial,sans-serif}
.ld-details-body>section,.ld-details-body>#details,.ld-contacts-body>section,.ld-contacts-body>#contacts{margin:0!important;max-width:none!important}
.ld-details-body>section>header,.ld-details-body>#details>header,.ld-contacts-body>section>header,.ld-contacts-body>#contacts>header{display:none!important}

/* Common dresscode.php receives normalized colors, and these selectors cover its usual raw output. */
.ld-dresscode-body .palette{display:flex!important;flex-wrap:wrap!important;gap:18px!important;margin:26px 0 0!important}
.ld-dresscode-body .palette i{
  display:block!important;width:76px!important;height:76px!important;flex:0 0 76px!important;
  border-radius:50%!important;border:1px solid rgba(15,23,42,.16)!important;
  box-shadow:inset 0 0 0 7px var(--paper),0 9px 24px rgba(15,23,42,.09)!important;
}
.ld-dresscode-body :is(.dresscode,.dress,.iviDress)>:is(h1,h2,h3,p):first-child{display:none!important}

/* Make RSVP noticeably more compact without touching shared form logic. */
.ld-rsvp-layout{grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr)!important}
.ld-rsvp-layout>.ld-rsvp-head{padding:38px 34px!important}
.ld-rsvp-layout>.ld-rsvp-head h2{font-size:clamp(48px,4.9vw,76px)!important;line-height:.98!important}
.ld-rsvp-layout>.ld-rsvp-head .ld-shared-subtitle{font-size:14px!important;line-height:1.6!important}
.ld-rsvp-form{padding:24px 24px 20px!important}
.ld-rsvp-form #rsvpForm{gap:16px 28px!important}
.ld-rsvp-form .rsvpField,.ld-rsvp-form .rsvpGroup{margin-bottom:14px!important}
.ld-rsvp-form input,.ld-rsvp-form textarea,.ld-rsvp-form select{min-height:38px!important}
.ld-rsvp-form textarea{min-height:72px!important}
.ld-rsvp-form .rsvpOptions,.ld-rsvp-form .rsvpChecks{min-height:44px!important}
.ld-rsvp-form button[type="submit"],.ld-rsvp-form .rsvpSubmit{min-height:48px!important;padding:12px 20px!important}

@media(max-width:700px){
  .ld-editorial-head{grid-template-columns:1fr;grid-template-areas:"kicker" "title" "text";gap:8px}
  .ld-editorial-head .eyebrow{justify-self:start}
  .ld-rsvp-form{padding:18px 14px!important}
  .ld-dresscode-body .palette i{width:58px!important;height:58px!important;flex-basis:58px!important;box-shadow:inset 0 0 0 5px var(--paper),0 7px 18px rgba(15,23,42,.08)!important}
}


/* =========================================================
   V7: DRESSCODE COLORS IN ONE HORIZONTAL LINE
========================================================= */
.ld-dresscode-body{
  min-width:0;
}

/* The shared block may use any of these wrappers. Keep the palette horizontal. */
.ld-dresscode-body .palette,
.ld-dresscode-body .dcPalette,
.ld-dresscode-body .dc-palette,
.ld-dresscode-body .dresscodePalette,
.ld-dresscode-body .dresscode-palette,
.ld-dresscode-body .iviDressPalette,
.ld-dresscode-body .ivi-dresscode__palette,
.ld-dresscode-body .ivi-dresscode__colors,
.ld-dresscode-body .dresscode-colors,
.ld-dresscode-body .dc-colors,
.ld-dresscode-body [data-dresscode-colors],
.ld-dresscode-body div:has(> i[style*="background"]),
.ld-dresscode-body div:has(> span[style*="background"]){
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:16px!important;
  width:100%!important;
  margin:24px 0 0!important;
}

.ld-dresscode-body .palette > *,
.ld-dresscode-body .dcPalette > *,
.ld-dresscode-body .dc-palette > *,
.ld-dresscode-body .dresscodePalette > *,
.ld-dresscode-body .dresscode-palette > *,
.ld-dresscode-body .iviDressPalette > *,
.ld-dresscode-body .ivi-dresscode__palette > *,
.ld-dresscode-body .ivi-dresscode__colors > *,
.ld-dresscode-body .dresscode-colors > *,
.ld-dresscode-body .dc-colors > *{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}

.ld-dresscode-body .palette i,
.ld-dresscode-body .palette span[style*="background"],
.ld-dresscode-body .dcPalette i,
.ld-dresscode-body .dc-palette i,
.ld-dresscode-body .dresscodePalette i,
.ld-dresscode-body .dresscode-palette i,
.ld-dresscode-body .iviDressPalette i,
.ld-dresscode-body .ivi-dresscode__palette i,
.ld-dresscode-body .ivi-dresscode__colors i,
.ld-dresscode-body [data-dresscode-color],
.ld-dresscode-body i[style*="background"],
.ld-dresscode-body span[style*="background"]{
  display:block!important;
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  flex:0 0 78px!important;
  border-radius:50%!important;
  border:1px solid rgba(15,31,52,.16)!important;
  box-shadow:inset 0 0 0 6px var(--paper),0 10px 24px rgba(15,31,52,.09)!important;
}

/* Remove duplicated inner title/text from the shared block. */
.ld-dresscode-body > h2,
.ld-dresscode-body > h3,
.ld-dresscode-body > p:first-child,
.ld-dresscode-body .dresscode-title,
.ld-dresscode-body .dc-title,
.ld-dresscode-body .iviDressTitle{
  display:none!important;
}

@media(max-width:700px){
  .ld-dresscode-body .palette,
  .ld-dresscode-body .dcPalette,
  .ld-dresscode-body .dc-palette,
  .ld-dresscode-body .dresscodePalette,
  .ld-dresscode-body .dresscode-palette,
  .ld-dresscode-body .iviDressPalette,
  .ld-dresscode-body .ivi-dresscode__palette,
  .ld-dresscode-body .ivi-dresscode__colors,
  .ld-dresscode-body .dresscode-colors,
  .ld-dresscode-body .dc-colors,
  .ld-dresscode-body [data-dresscode-colors]{
    gap:12px!important;
  }
  .ld-dresscode-body .palette i,
  .ld-dresscode-body .palette span[style*="background"],
  .ld-dresscode-body i[style*="background"],
  .ld-dresscode-body span[style*="background"]{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    flex-basis:58px!important;
    box-shadow:inset 0 0 0 5px var(--paper),0 8px 18px rgba(15,31,52,.08)!important;
  }
}


/* =========================================================
   V8: exact studio headers + direct dress-code palette
========================================================= */
.ld-dresscode--editorial{
  padding:0!important;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--paper) 94%,white);
}
.ld-dresscode-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:44px;
  align-items:center;
  padding:42px;
}
.ld-dresscode-copy{
  min-width:0;
}
.ld-dresscode-copy .eyebrow{
  display:block;
  margin:0 0 12px;
  color:var(--accent);
  font:700 10px/1.2 Manrope,Arial,sans-serif;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.ld-dresscode-copy h2{
  margin:0;
  color:var(--ink);
  font:400 clamp(42px,5.4vw,76px)/1.08 Prata,Georgia,serif;
  letter-spacing:-.035em;
}
.ld-dresscode-copy .ld-shared-subtitle{
  max-width:780px;
  margin:16px 0 0;
  color:var(--muted);
  font:400 14px/1.7 Manrope,Arial,sans-serif;
}
.ld-dresscode-palette{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:flex-start;
  gap:16px;
  max-width:520px;
}
.ld-dresscode-swatch-wrap{
  display:grid;
  justify-items:center;
  gap:8px;
}
.ld-dresscode-swatch{
  display:block;
  width:72px;
  height:72px;
  border:1px solid rgba(15,23,42,.18);
  border-radius:50%;
  box-shadow:inset 0 0 0 6px var(--paper),0 10px 24px rgba(15,23,42,.10);
}
.ld-dresscode-swatch-wrap small{
  max-width:88px;
  color:var(--muted);
  font:600 10px/1.25 Manrope,Arial,sans-serif;
  text-align:center;
}

/* Make studio label/title/text unmistakably visible for shared details and contacts. */
.ld-details>.ld-editorial-head,
.ld-contacts>.ld-editorial-head{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  height:auto!important;
  overflow:visible!important;
}
.ld-details>.ld-editorial-head .eyebrow,
.ld-contacts>.ld-editorial-head .eyebrow,
.ld-details>.ld-editorial-head h2,
.ld-contacts>.ld-editorial-head h2,
.ld-details>.ld-editorial-head .ld-shared-subtitle,
.ld-contacts>.ld-editorial-head .ld-shared-subtitle{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

@media(max-width:900px){
  .ld-dresscode-panel{
    grid-template-columns:1fr;
    gap:28px;
    padding:30px;
  }
  .ld-dresscode-palette{
    justify-content:flex-start;
    max-width:none;
  }
}
@media(max-width:560px){
  .ld-dresscode-panel{padding:24px 20px}
  .ld-dresscode-swatch{width:58px;height:58px;box-shadow:inset 0 0 0 5px var(--paper),0 8px 18px rgba(15,23,42,.09)}
  .ld-dresscode-palette{gap:12px}
}


/* shared block headings */
.ld-editorial-head{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 28px}
.ld-editorial-head .eyebrow{margin-bottom:10px}
.ld-dresscode .section-head,
.ld-dresscode .ld-editorial-head{
display:grid;
grid-template-columns:1fr auto;
gap:20px;
align-items:start;
}
.ld-dresscode .section-head .eyebrow,
.ld-dresscode .section-head h2,
.ld-dresscode .section-head p{grid-column:1}
.ld-dresscode .dresscode-colors,
.ld-dresscode .dresscode-palette,
.ld-dresscode .palette{grid-column:2;grid-row:1 / span 3;align-self:start}

/* =========================================================
   V9: visible shared headers + safe RSVP typography
========================================================= */
/* Details and contacts use the template's common editorial header.
   The shared PHP blocks keep their own markup, but their duplicate inner
   header is hidden so only one clean heading is shown. */
.ld-details > .ld-editorial-head,
.ld-contacts > .ld-editorial-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:0!important;
  width:100%!important;
  margin:0 0 32px!important;
  padding:0!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}
.ld-details > .ld-editorial-head .eyebrow,
.ld-contacts > .ld-editorial-head .eyebrow{
  display:block!important;
  order:0!important;
  margin:0 0 12px!important;
  justify-self:start!important;
  align-self:flex-start!important;
  color:var(--accent)!important;
}
.ld-details > .ld-editorial-head h2,
.ld-contacts > .ld-editorial-head h2{
  display:block!important;
  order:1!important;
  width:100%!important;
  margin:0!important;
  color:var(--ink)!important;
}
.ld-details > .ld-editorial-head .ld-shared-subtitle,
.ld-contacts > .ld-editorial-head .ld-shared-subtitle{
  display:block!important;
  order:2!important;
  max-width:820px!important;
  margin:16px 0 0!important;
  color:var(--muted)!important;
}
.ld-details-body > .ivi-details > .ivi-details__inner > .ivi-details__head,
.ld-details-body > section .ivi-details__head,
.ld-contacts-body > .ivi-contacts > .ivi-contacts__inner > .ivi-contacts__head,
.ld-contacts-body > section .ivi-contacts__head{
  display:none!important;
}

/* The RSVP title must never escape from the colored column. */
.ld-rsvp-layout,
.ld-rsvp-layout > *,
.ld-rsvp-layout > .ld-rsvp-head{
  min-width:0!important;
  max-width:100%!important;
}
.ld-rsvp-layout > .ld-rsvp-head{
  overflow:hidden!important;
}
.ld-rsvp-layout > .ld-rsvp-head h2{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  font-size:clamp(42px,4.2vw,64px)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
}
.ld-rsvp-layout > .ld-rsvp-head .ld-shared-subtitle{
  width:100%!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:980px){
  .ld-rsvp-layout > .ld-rsvp-head h2{
    font-size:clamp(40px,8vw,64px)!important;
  }
}
@media(max-width:560px){
  .ld-details > .ld-editorial-head,
  .ld-contacts > .ld-editorial-head{margin-bottom:24px!important}
  .ld-details > .ld-editorial-head h2,
  .ld-contacts > .ld-editorial-head h2{font-size:clamp(36px,11vw,52px)!important}
  .ld-rsvp-layout > .ld-rsvp-head h2{
    font-size:clamp(38px,12vw,54px)!important;
    line-height:1.02!important;
  }
}


/* =========================================================
   V10: shared section headers exactly like Location
========================================================= */
.ld-details,
.ld-contacts{
  padding:20px 0 30px!important;
  border-top:1px solid var(--line)!important;
}
.ld-details > .ld-editorial-head,
.ld-contacts > .ld-editorial-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:
    "title label"
    "subtitle label"!important;
  align-items:start!important;
  gap:10px 24px!important;
  width:100%!important;
  margin:0 0 30px!important;
  padding:0!important;
  visibility:visible!important;
  opacity:1!important;
}
.ld-details > .ld-editorial-head h2,
.ld-contacts > .ld-editorial-head h2{
  grid-area:title!important;
  display:block!important;
  margin:0!important;
  font:400 clamp(46px,5.2vw,82px)/.98 Prata,Georgia,serif!important;
  letter-spacing:-.045em!important;
  color:var(--ink)!important;
}
.ld-details > .ld-editorial-head .eyebrow,
.ld-contacts > .ld-editorial-head .eyebrow{
  grid-area:label!important;
  display:block!important;
  margin:10px 0 0!important;
  white-space:nowrap!important;
  color:var(--accent)!important;
}
.ld-details > .ld-editorial-head .ld-shared-subtitle,
.ld-contacts > .ld-editorial-head .ld-shared-subtitle{
  grid-area:subtitle!important;
  display:block!important;
  max-width:760px!important;
  margin:0!important;
  color:var(--muted)!important;
  font-size:15px!important;
  line-height:1.6!important;
}

/* RSVP heading must never escape its green column. */
.ld-rsvp-head,
.ld-rsvp-head h2,
.ld-rsvp-head .ld-shared-subtitle{
  min-width:0!important;
  max-width:100%!important;
}
.ld-rsvp-head h2{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  font-size:clamp(44px,5.2vw,82px)!important;
  line-height:.9!important;
}

@media(max-width:760px){
  .ld-details,
  .ld-contacts{padding:24px 0!important}
  .ld-details > .ld-editorial-head,
  .ld-contacts > .ld-editorial-head{
    grid-template-columns:1fr!important;
    grid-template-areas:"label" "title" "subtitle"!important;
    gap:8px!important;
    margin-bottom:20px!important;
  }
  .ld-details > .ld-editorial-head .eyebrow,
  .ld-contacts > .ld-editorial-head .eyebrow{margin:0!important;white-space:normal!important}
  .ld-details > .ld-editorial-head h2,
  .ld-contacts > .ld-editorial-head h2{font-size:clamp(36px,11vw,54px)!important}
  .ld-rsvp-head h2{font-size:clamp(42px,12vw,64px)!important}
}


/* =========================================================
   V11: production-safe headings for Details / Contacts
   Separate class avoids collisions with styles inside shared PHP blocks.
========================================================= */
.ld-details > .ld-section-heading,
.ld-contacts > .ld-section-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:
    "title label"
    "subtitle label"!important;
  align-items:start!important;
  column-gap:32px!important;
  row-gap:12px!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 30px!important;
  padding:0 0 28px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}
.ld-details > .ld-section-heading > h2,
.ld-contacts > .ld-section-heading > h2{
  grid-area:title!important;
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  color:var(--ink)!important;
  font:400 clamp(42px,5.2vw,78px)/1.02 Prata,Georgia,serif!important;
  letter-spacing:-.045em!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
.ld-details > .ld-section-heading > .eyebrow,
.ld-contacts > .ld-section-heading > .eyebrow{
  grid-area:label!important;
  display:block!important;
  justify-self:end!important;
  align-self:start!important;
  margin:9px 0 0!important;
  color:var(--accent)!important;
  font:700 10px/1.25 Manrope,Arial,sans-serif!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  visibility:visible!important;
  opacity:1!important;
}
.ld-details > .ld-section-heading > .ld-shared-subtitle,
.ld-contacts > .ld-section-heading > .ld-shared-subtitle{
  grid-area:subtitle!important;
  display:block!important;
  max-width:780px!important;
  margin:0!important;
  color:var(--muted)!important;
  font:400 14px/1.65 Manrope,Arial,sans-serif!important;
  overflow-wrap:anywhere!important;
  visibility:visible!important;
  opacity:1!important;
}

/* The shared blocks keep their ready-made card markup. Only duplicate inner heads are hidden. */
.ld-details-body :is(.le-details__header,.ivi-details__head),
.ld-contacts-body :is(.ivi-contacts__head,.contacts-head){
  display:none!important;
}

/* RSVP: keep the large editorial heading inside the green column. */
.ld-rsvp-layout{
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
  overflow:hidden!important;
}
.ld-rsvp-layout > .ld-rsvp-head{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
}
.ld-rsvp-layout > .ld-rsvp-head h2{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  font-size:clamp(42px,4.25vw,68px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  hyphens:auto!important;
}
.ld-rsvp-layout > .ld-rsvp-head .ld-shared-subtitle{
  width:100%!important;
  max-width:34ch!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:760px){
  .ld-details > .ld-section-heading,
  .ld-contacts > .ld-section-heading{
    grid-template-columns:1fr!important;
    grid-template-areas:"label" "title" "subtitle"!important;
    gap:9px!important;
    margin-bottom:22px!important;
    padding-bottom:22px!important;
  }
  .ld-details > .ld-section-heading > .eyebrow,
  .ld-contacts > .ld-section-heading > .eyebrow{
    justify-self:start!important;
    margin:0!important;
    white-space:normal!important;
  }
  .ld-details > .ld-section-heading > h2,
  .ld-contacts > .ld-section-heading > h2{
    font-size:clamp(36px,11vw,54px)!important;
  }
  .ld-rsvp-layout{grid-template-columns:1fr!important}
  .ld-rsvp-layout > .ld-rsvp-head h2{
    font-size:clamp(38px,11vw,58px)!important;
  }
}


/* =========================================================
   V12: outer shared sections keep their own editorial heading.
   Previous generic .ld-details reset removed the section spacing.
========================================================= */
.ld-details.page.section,
.ld-contacts.page.section{
  padding:20px 0 30px!important;
  border-top:1px solid var(--line)!important;
  background:transparent!important;
}
.ld-details > .ld-section-heading,
.ld-contacts > .ld-section-heading{
  display:grid!important;
  position:relative!important;
  z-index:2!important;
}
@media(max-width:760px){
  .ld-details.page.section,
  .ld-contacts.page.section{padding:24px 0!important}
}


/* =========================================================
   V13: keep outer Details / Contacts headings visible.
   This rule intentionally outranks every shared-block reset above.
========================================================= */
html body .ld-details.page.section > .ld-section-heading,
html body .ld-contacts.page.section > .ld-section-heading{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
}


/* =========================================================
   V14: LOCATION-STYLE HEADERS FOR DETAILS / CONTACTS / DRESSCODE
========================================================= */
html body .ld-details.page.section,
html body .ld-contacts.page.section,
html body .ld-dresscode.page.section{
  padding-top:52px!important;
  padding-bottom:52px!important;
  border-top:0!important;
  background:transparent!important;
}

html body .ld-details > .ld-shared-head,
html body .ld-contacts > .ld-shared-head,
html body .ld-dresscode > .ld-shared-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"title kicker" "subtitle subtitle"!important;
  align-items:start!important;
  gap:10px 28px!important;
  width:100%!important;
  margin:0 0 28px!important;
  padding:18px 0 0!important;
  border-top:1px solid var(--line)!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
}
html body .ld-details > .ld-shared-head > h2,
html body .ld-contacts > .ld-shared-head > h2,
html body .ld-dresscode > .ld-shared-head > h2{
  grid-area:title!important;
  margin:0!important;
  max-width:100%!important;
  color:var(--ink)!important;
  font:400 clamp(42px,5.4vw,76px)/1.08 Prata,Georgia,serif!important;
  letter-spacing:-.035em!important;
  overflow-wrap:anywhere!important;
}
html body .ld-details > .ld-shared-head > .eyebrow,
html body .ld-contacts > .ld-shared-head > .eyebrow,
html body .ld-dresscode > .ld-shared-head > .eyebrow{
  grid-area:kicker!important;
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
  color:var(--accent)!important;
  font:700 10px/1.2 Manrope,Arial,sans-serif!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
html body .ld-details > .ld-shared-head > .ld-shared-subtitle,
html body .ld-contacts > .ld-shared-head > .ld-shared-subtitle,
html body .ld-dresscode > .ld-shared-head > .ld-shared-subtitle{
  grid-area:subtitle!important;
  max-width:820px!important;
  margin:0!important;
  color:var(--muted)!important;
  font:400 15px/1.7 Manrope,Arial,sans-serif!important;
}

/* Keep ready shared block markup, remove only its duplicate shell/header. */
.ld-contacts-body > .ivi-contacts{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.ld-contacts-body > .ivi-contacts > .ivi-contacts__inner{
  margin:0!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  background:transparent!important;
}
.ld-contacts-body .ivi-contacts__head{display:none!important}
.ld-contacts-body .ivi-contacts__grid{margin:0!important}

.ld-details-body > .le-details{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.ld-details-body .le-details__header{display:none!important}

/* Dress code: editorial information on the left, palette on the right. */
.ld-dresscode-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:32px!important;
  min-height:210px!important;
  padding:34px 38px!important;
  border:1px solid var(--line)!important;
  background:transparent!important;
}
.ld-dresscode-panel::before{
  content:"ПАЛИТРА ДНЯ";
  color:var(--accent);
  font:700 10px/1.2 Manrope,Arial,sans-serif;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.ld-dresscode-palette{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:18px!important;
  margin:0!important;
}
.ld-dresscode-swatch-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
}
.ld-dresscode-swatch{
  display:block!important;
  width:74px!important;
  height:74px!important;
  border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)!important;
  border-radius:50%!important;
  box-shadow:inset 0 0 0 7px var(--paper),0 10px 24px rgba(15,31,52,.09)!important;
}
.ld-dresscode-swatch-wrap small{
  color:var(--muted)!important;
  font:600 10px/1.3 Manrope,Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

@media(max-width:700px){
  html body .ld-details > .ld-shared-head,
  html body .ld-contacts > .ld-shared-head,
  html body .ld-dresscode > .ld-shared-head{
    grid-template-columns:1fr!important;
    grid-template-areas:"kicker" "title" "subtitle"!important;
    gap:8px!important;
    margin-bottom:20px!important;
  }
  html body .ld-details > .ld-shared-head > .eyebrow,
  html body .ld-contacts > .ld-shared-head > .eyebrow,
  html body .ld-dresscode > .ld-shared-head > .eyebrow{
    justify-self:start!important;
    white-space:normal!important;
  }
  html body .ld-details > .ld-shared-head > h2,
  html body .ld-contacts > .ld-shared-head > h2,
  html body .ld-dresscode > .ld-shared-head > h2{
    font-size:clamp(36px,11vw,56px)!important;
  }
  .ld-dresscode-panel{
    grid-template-columns:1fr!important;
    gap:22px!important;
    min-height:0!important;
    padding:26px 20px!important;
  }
  .ld-dresscode-palette{justify-content:flex-start!important}
  .ld-dresscode-swatch{width:62px!important;height:62px!important;box-shadow:inset 0 0 0 5px var(--paper),0 8px 20px rgba(15,31,52,.08)!important}
}

/* =========================================================
   V15: CLEAN SHARED SECTIONS
   Keep one editorial rule in the heading only. Remove stacked
   frames and excessive separators from Contacts and Dress code.
========================================================= */
html body .ld-contacts.page.section,
html body .ld-dresscode.page.section{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* The heading already carries the single section rule. */
html body .ld-contacts > .ld-shared-head,
html body .ld-dresscode > .ld-shared-head{
  margin-bottom:34px!important;
  padding-top:18px!important;
  border-top:1px solid var(--line)!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
}

/* Contacts: remove the frame-within-a-frame effect. */
html body .ld-contacts-body,
html body .ld-contacts-body > .ivi-contacts,
html body .ld-contacts-body > .ivi-contacts > .ivi-contacts__inner{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
html body .ld-contacts-body .ivi-contacts__grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
html body .ld-contacts-body .ivi-contact{
  min-height:0!important;
  padding:28px!important;
  border:1px solid var(--line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:color-mix(in srgb,var(--paper) 94%,white)!important;
}
html body .ld-contacts-body .ivi-contact + .ivi-contact{
  border-left:1px solid var(--line)!important;
}
html body .ld-contacts-body .ivi-contact__actions{
  margin-top:20px!important;
}

/* Dress code: no surrounding box, just a calm two-column layout. */
html body .ld-dresscode-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:42px!important;
  min-height:0!important;
  margin:0!important;
  padding:10px 0 4px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
html body .ld-dresscode-panel::before{
  align-self:center!important;
  margin:0!important;
}
html body .ld-dresscode-palette{
  justify-content:flex-end!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
}
html body .ld-dresscode-swatch{
  width:70px!important;
  height:70px!important;
  box-shadow:inset 0 0 0 6px var(--paper),0 8px 20px rgba(15,31,52,.07)!important;
}

@media(max-width:700px){
  html body .ld-contacts > .ld-shared-head,
  html body .ld-dresscode > .ld-shared-head{
    margin-bottom:24px!important;
  }
  html body .ld-contacts-body .ivi-contacts__grid{
    grid-template-columns:1fr!important;
  }
  html body .ld-contacts-body .ivi-contact{
    padding:24px 20px!important;
  }
  html body .ld-dresscode-panel{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:4px 0 0!important;
  }
  html body .ld-dresscode-palette{
    justify-content:flex-start!important;
  }
}

/* =========================================================
   V16: UNIFIED THEME LINES + EDITORIAL DETAIL ICONS
========================================================= */
:root{
  --ld-rule-color:color-mix(in srgb,var(--accent) 76%,transparent);
  --ld-rule-soft:color-mix(in srgb,var(--accent) 24%,transparent);
}

/* One visual rhythm for every content section. */
html body .page.section{
  position:relative;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
html body .page.section > .section-head{
  position:relative!important;
  margin-top:0!important;
  padding-top:24px!important;
  border-top:1px solid var(--ld-rule-color)!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
}
html body .page.section > .section-head::before{
  content:"";
  position:absolute;
  top:-5px;
  left:0;
  width:9px;
  height:9px;
  background:var(--accent);
  transform:rotate(45deg);
  box-shadow:0 0 0 4px var(--paper);
}

/* Remove duplicate separators and frames inside shared blocks. */
html body .ld-location,
html body .ld-details,
html body .ld-contacts,
html body .ld-dresscode,
html body .ld-rsvp-shared{
  border:0!important;
  background:transparent!important;
}
html body .ld-location :is(.section-head,.ld-location-head),
html body .ld-details :is(.section-head,.ld-shared-head),
html body .ld-contacts :is(.section-head,.ld-shared-head),
html body .ld-dresscode :is(.section-head,.ld-shared-head){
  border-color:var(--ld-rule-color)!important;
}
html body .ld-details-body,
html body .ld-contacts-body,
html body .ld-dresscode-panel{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Details: clean columns, subtle theme separators, icon badges. */
html body .ld-details-body .le-details__grid{
  gap:0!important;
  border:0!important;
}
html body .ld-details-body .le-details__card{
  position:relative!important;
  min-width:0!important;
  border:0!important;
  border-left:1px solid var(--ld-rule-soft)!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body .ld-details-body .le-details__card:first-child{
  border-left:0!important;
}
html body .ld-details-body .le-details__card-icon{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  border:1px solid var(--ld-rule-color)!important;
  border-radius:50%!important;
  color:var(--accent)!important;
  background:color-mix(in srgb,var(--accent) 8%,var(--paper))!important;
  font-size:0!important;
  line-height:1!important;
}
html body .ld-details-body .le-details__card-icon::before{
  content:"";
  width:22px;
  height:22px;
  background:currentColor;
  -webkit-mask:center/contain no-repeat;
  mask:center/contain no-repeat;
}
html body .ld-details-body .le-details__card:nth-child(1) .le-details__card-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3Cpath d='M12 3c2 1.5 3 3.2 2.5 5M21 12c-1.5 2-3.2 3-5 2.5M12 21c-2-1.5-3-3.2-2.5-5M3 12c1.5-2 3.2-3 5-2.5M18.4 5.6c.4 2.5-.1 4.4-1.8 5.3M18.4 18.4c-2.5.4-4.4-.1-5.3-1.8M5.6 18.4c-.4-2.5.1-4.4 1.8-5.3M5.6 5.6c2.5-.4 4.4.1 5.3 1.8'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3Cpath d='M12 3c2 1.5 3 3.2 2.5 5M21 12c-1.5 2-3.2 3-5 2.5M12 21c-2-1.5-3-3.2-2.5-5M3 12c1.5-2 3.2-3 5-2.5M18.4 5.6c.4 2.5-.1 4.4-1.8 5.3M18.4 18.4c-2.5.4-4.4-.1-5.3-1.8M5.6 18.4c-.4-2.5.1-4.4 1.8-5.3M5.6 5.6c2.5-.4 4.4.1 5.3 1.8'/%3E%3C/svg%3E");
}
html body .ld-details-body .le-details__card:nth-child(2) .le-details__card-icon::before,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16v10H4zM3 7h18v4H3zM12 7v13M12 7H8.7C7.2 7 6 5.9 6 4.6 6 3.7 6.8 3 7.8 3 10.2 3 12 7 12 7Zm0 0h3.3C16.8 7 18 5.9 18 4.6 18 3.7 17.2 3 16.2 3 13.8 3 12 7 12 7Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16v10H4zM3 7h18v4H3zM12 7v13M12 7H8.7C7.2 7 6 5.9 6 4.6 6 3.7 6.8 3 7.8 3 10.2 3 12 7 12 7Zm0 0h3.3C16.8 7 18 5.9 18 4.6 18 3.7 17.2 3 16.2 3 13.8 3 12 7 12 7Z'/%3E%3C/svg%3E");
}
html body .ld-details-body .le-details__card:nth-child(3) .le-details__card-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 10h.01M15.5 10h.01M8.5 14c1 1.3 2.2 2 3.5 2s2.5-.7 3.5-2'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 10h.01M15.5 10h.01M8.5 14c1 1.3 2.2 2 3.5 2s2.5-.7 3.5-2'/%3E%3C/svg%3E");
}
html body .ld-details-body .le-details__card-icon img{
  display:none!important;
}

/* Contacts: compact card, no extra horizontal rules. */
html body .ld-contacts-body .ivi-contact{
  border:1px solid var(--ld-rule-soft)!important;
  background:color-mix(in srgb,var(--paper) 97%,var(--accent))!important;
}

/* Dress code uses the same visual rule and theme accent. */
html body .ld-dresscode-panel::before{
  color:var(--accent)!important;
}
html body .ld-dresscode-swatch{
  border-color:var(--ld-rule-color)!important;
}

@media(max-width:700px){
  html body .page.section > .section-head{
    padding-top:20px!important;
  }
  html body .page.section > .section-head::before{
    top:-4px;
    width:8px;
    height:8px;
  }
  html body .ld-details-body .le-details__card{
    border-left:0!important;
    border-top:1px solid var(--ld-rule-soft)!important;
  }
  html body .ld-details-body .le-details__card:first-child{
    border-top:0!important;
  }
}

/* =========================================================
   V17: VISIBLE DETAIL ICONS + COMPACT DRESS CODE
========================================================= */
/* Safari needs the generated mask element to be a real box. */
html body .ld-details-body .le-details__card-icon::before{
  display:block!important;
  flex:0 0 auto!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Keep the icon badge itself readable above shared-block styles. */
html body .ld-details-body .le-details__card-icon{
  overflow:hidden!important;
  color:var(--accent)!important;
}

/* Compact dress-code section: no artificial height or empty floor. */
html body .ld-dresscode.page.section{
  min-height:0!important;
  height:auto!important;
  padding-top:32px!important;
  padding-bottom:34px!important;
}
html body .ld-dresscode > .ld-shared-head{
  margin-bottom:20px!important;
  padding-top:16px!important;
}
html body .ld-dresscode-panel{
  min-height:0!important;
  height:auto!important;
  gap:28px!important;
  padding:2px 0 0!important;
}
html body .ld-dresscode-palette{
  align-self:center!important;
}

@media(max-width:700px){
  html body .ld-dresscode.page.section{
    padding-top:24px!important;
    padding-bottom:26px!important;
  }
  html body .ld-dresscode > .ld-shared-head{
    margin-bottom:16px!important;
    padding-top:14px!important;
  }
  html body .ld-dresscode-panel{
    gap:14px!important;
    padding:0!important;
  }
  html body .ld-dresscode-swatch{
    width:56px!important;
    height:56px!important;
  }
}


/* =========================================================
   V18: RELIABLE INLINE SVG ICONS
   The shared block is rendered first, then editorial.js injects
   real inline SVGs. This avoids Safari/data-URI mask failures.
========================================================= */
html body .ld-details-body .le-details__card-icon::before{
  content:none!important;
  display:none!important;
  -webkit-mask:none!important;
  mask:none!important;
}
html body .ld-details-body .le-details__card-icon img{
  display:none!important;
}
html body .ld-details-body .le-details__card-icon .ld-generated-icon{
  display:block!important;
  width:23px!important;
  height:23px!important;
  overflow:visible!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
}

/* =========================================================
   V19: COMPACT DETAILS GRID + REFINED WISHLIST ICON
========================================================= */
html body .ld-details.page.section{
  min-height:0!important;
  height:auto!important;
  padding-bottom:34px!important;
}
html body .ld-details > .ld-shared-head{
  margin-bottom:24px!important;
}
html body .ld-details-body .le-details{
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}
html body .ld-details-body .le-details__header{
  display:none!important;
}
html body .ld-details-body .le-details__grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
}
html body .ld-details-body .le-details__card{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-rows:auto auto 1fr auto!important;
  align-content:start!important;
  column-gap:16px!important;
  row-gap:8px!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:22px 26px!important;
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:1px solid var(--ld-rule-soft)!important;
  background:transparent!important;
}
html body .ld-details-body .le-details__card:first-child{
  border-left:0!important;
  padding-left:0!important;
}
html body .ld-details-body .le-details__card:last-child{
  padding-right:0!important;
}
html body .ld-details-body .le-details__card-icon{
  grid-column:1!important;
  grid-row:1 / span 4!important;
  align-self:start!important;
  justify-self:start!important;
  width:52px!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--ld-rule-color)!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--accent) 9%,var(--paper))!important;
  color:var(--accent)!important;
  overflow:visible!important;
}
html body .ld-details-body .le-details__card-icon .ld-generated-icon{
  width:25px!important;
  height:25px!important;
  stroke-width:1.7!important;
}
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
  width:58px!important;
  height:58px!important;
  background:color-mix(in srgb,var(--accent) 7%,var(--paper))!important;
}
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon .ld-generated-icon{
  width:29px!important;
  height:29px!important;
  stroke-width:1.75!important;
}
html body .ld-details-body .le-details__provider{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  margin:1px 0 0!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.18em!important;
}
html body .ld-details-body .le-details__card-title{
  grid-column:2!important;
  margin:0!important;
  font-size:clamp(25px,2vw,34px)!important;
  line-height:1.02!important;
}
html body .ld-details-body .le-details__card-text{
  grid-column:2!important;
  margin:8px 0 0!important;
  max-width:30ch!important;
  font-size:15px!important;
  line-height:1.5!important;
}
html body .ld-details-body .le-details__wishlist-button{
  grid-column:2!important;
  align-self:end!important;
  justify-self:start!important;
  margin:16px 0 0!important;
  padding:0 0 4px!important;
  min-height:0!important;
}
html body .ld-details-body .le-details__wishlist-button svg{
  width:18px!important;
  height:18px!important;
}

@media(max-width:1100px){
  html body .ld-details-body .le-details__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html body .ld-details-body .le-details__card:nth-child(3){
    border-left:0!important;
    padding-left:0!important;
  }
  html body .ld-details-body .le-details__card:nth-child(n+3){
    border-top:1px solid var(--ld-rule-soft)!important;
    margin-top:20px!important;
    padding-top:22px!important;
  }
}

@media(max-width:700px){
  html body .ld-details.page.section{
    padding-bottom:26px!important;
  }
  html body .ld-details > .ld-shared-head{
    margin-bottom:14px!important;
  }
  html body .ld-details-body .le-details__grid{
    grid-template-columns:1fr!important;
  }
  html body .ld-details-body .le-details__card,
  html body .ld-details-body .le-details__card:first-child,
  html body .ld-details-body .le-details__card:nth-child(3),
  html body .ld-details-body .le-details__card:last-child{
    grid-template-columns:48px minmax(0,1fr)!important;
    column-gap:14px!important;
    padding:18px 0!important;
    margin:0!important;
    border-left:0!important;
    border-top:1px solid var(--ld-rule-soft)!important;
  }
  html body .ld-details-body .le-details__card:first-child{
    border-top:0!important;
    padding-top:8px!important;
  }
  html body .ld-details-body .le-details__card-icon,
  html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
    width:46px!important;
    height:46px!important;
  }
  html body .ld-details-body .le-details__card-icon .ld-generated-icon,
  html body .ld-details-body .le-details__card--wishlist .le-details__card-icon .ld-generated-icon{
    width:23px!important;
    height:23px!important;
  }
  html body .ld-details-body .le-details__card-title{
    font-size:27px!important;
  }
  html body .ld-details-body .le-details__card-text{
    margin-top:4px!important;
    max-width:none!important;
  }
  html body .ld-details-body .le-details__wishlist-button{
    margin-top:10px!important;
  }
}

/* v20: hard-center generated detail icons, including wishlist card */
html body .ld-details-body .le-details__card-icon,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
  display:grid!important;
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  line-height:0!important;
  text-align:center!important;
}
html body .ld-details-body .le-details__card-icon > .ld-generated-icon,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > .ld-generated-icon{
  display:block!important;
  position:static!important;
  inset:auto!important;
  margin:auto!important;
  padding:0!important;
  transform:none!important;
  flex:none!important;
  vertical-align:middle!important;
}

/* =========================================================
   V21: CENTERED DETAILS CARDS
   Every detail, including the wishlist, follows one axis.
========================================================= */
html body .ld-details-body .le-details__grid{
  align-items:start!important;
}
html body .ld-details-body .le-details__card,
html body .ld-details-body .le-details__card--wishlist{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  gap:0!important;
  min-height:330px!important;
  padding:20px 26px 18px!important;
}
html body .ld-details-body .le-details__card:first-child{
  padding-left:26px!important;
}
html body .ld-details-body .le-details__card:last-child{
  padding-right:26px!important;
}
html body .ld-details-body .le-details__card-icon,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
  order:1!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  width:56px!important;
  height:56px!important;
  margin:0 auto 22px!important;
  flex:0 0 56px!important;
}
html body .ld-details-body .le-details__card-icon > .ld-generated-icon,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > .ld-generated-icon{
  width:27px!important;
  height:27px!important;
  margin:0!important;
  transform:none!important;
}
html body .ld-details-body .le-details__provider{
  order:0!important;
  align-self:center!important;
  margin:0 0 14px!important;
  min-height:14px!important;
  text-align:center!important;
}
html body .ld-details-body .le-details__card:not(.le-details__card--wishlist) .le-details__provider{
  display:none!important;
}
html body .ld-details-body .le-details__card-title{
  order:2!important;
  width:100%!important;
  margin:0!important;
  text-align:center!important;
  font-size:clamp(28px,2.15vw,38px)!important;
  line-height:1.03!important;
}
html body .ld-details-body .le-details__card-title::before{
  content:""!important;
  display:block!important;
  width:42px!important;
  height:3px!important;
  margin:0 auto 20px!important;
  background:var(--ld-rule-color)!important;
}
html body .ld-details-body .le-details__card-text{
  order:3!important;
  width:100%!important;
  max-width:27ch!important;
  margin:54px auto 0!important;
  text-align:center!important;
}
html body .ld-details-body .le-details__wishlist-button{
  order:4!important;
  align-self:center!important;
  justify-self:center!important;
  margin:36px auto 0!important;
  text-align:center!important;
}
html body .ld-details-body .le-details__card--wishlist .le-details__card-text{
  margin-top:48px!important;
}
html body .ld-details-body .le-details__card--wishlist .le-details__wishlist-button{
  margin-top:34px!important;
}

@media(max-width:1100px){
  html body .ld-details-body .le-details__card,
  html body .ld-details-body .le-details__card--wishlist{
    min-height:290px!important;
  }
}

@media(max-width:700px){
  html body .ld-details-body .le-details__card,
  html body .ld-details-body .le-details__card:first-child,
  html body .ld-details-body .le-details__card:nth-child(3),
  html body .ld-details-body .le-details__card:last-child,
  html body .ld-details-body .le-details__card--wishlist{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto!important;
    align-items:start!important;
    text-align:left!important;
    min-height:0!important;
    padding:18px 0!important;
  }
  html body .ld-details-body .le-details__card-icon,
  html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
    grid-column:1!important;
    grid-row:1 / span 4!important;
    align-self:start!important;
    width:46px!important;
    height:46px!important;
    margin:0!important;
    flex-basis:46px!important;
  }
  html body .ld-details-body .le-details__provider{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:start!important;
    margin:0 0 5px!important;
    text-align:left!important;
  }
  html body .ld-details-body .le-details__card-title{
    grid-column:2!important;
    grid-row:2!important;
    text-align:left!important;
  }
  html body .ld-details-body .le-details__card-title::before{
    display:none!important;
  }
  html body .ld-details-body .le-details__card-text{
    grid-column:2!important;
    grid-row:3!important;
    max-width:none!important;
    margin:7px 0 0!important;
    text-align:left!important;
  }
  html body .ld-details-body .le-details__wishlist-button{
    grid-column:2!important;
    grid-row:4!important;
    justify-self:start!important;
    align-self:start!important;
    margin:12px 0 0!important;
    text-align:left!important;
  }
}

/* =========================================================
   V22: deterministic centered details layout
   Neutralizes legacy grid rules from the shared details block.
========================================================= */
html body .ld-details-body .le-details__grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  align-items:stretch!important;
}
html body .ld-details-body .le-details__card,
html body .ld-details-body .le-details__card:first-child,
html body .ld-details-body .le-details__card:nth-child(2),
html body .ld-details-body .le-details__card:nth-child(3),
html body .ld-details-body .le-details__card:last-child,
html body .ld-details-body .le-details__card--wishlist{
  position:relative!important;
  display:flex!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  min-height:300px!important;
  box-sizing:border-box!important;
  padding:112px 26px 24px!important;
  margin:0!important;
  text-align:center!important;
  border-top:0!important;
  border-bottom:0!important;
  border-left:0!important;
  border-right:1px solid var(--ld-rule-soft)!important;
}
html body .ld-details-body .le-details__card:last-child,
html body .ld-details-body .le-details__card--wishlist:last-child{
  border-right:0!important;
}
html body .ld-details-body .le-details__card-icon,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
  position:absolute!important;
  top:20px!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  translate:-50% 0!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--ld-rule-color)!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  line-height:0!important;
}
html body .ld-details-body .le-details__card-icon > img,
html body .ld-details-body .le-details__card-icon > svg,
html body .ld-details-body .le-details__card-icon > .ld-generated-icon,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > img,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > svg,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > .ld-generated-icon{
  position:static!important;
  display:block!important;
  width:27px!important;
  height:27px!important;
  margin:0!important;
  padding:0!important;
  translate:none!important;
  transform:none!important;
  object-fit:contain!important;
}
html body .ld-details-body .le-details__provider,
html body .ld-details-body .le-details__card--wishlist .le-details__provider{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  justify-self:auto!important;
  align-self:auto!important;
}
html body .ld-details-body .le-details__card-title,
html body .ld-details-body .le-details__card--wishlist .le-details__card-title{
  width:100%!important;
  margin:0!important;
  text-align:center!important;
}
html body .ld-details-body .le-details__card-title::before{
  width:42px!important;
  height:3px!important;
  margin:0 auto 18px!important;
}
html body .ld-details-body .le-details__card-text,
html body .ld-details-body .le-details__card--wishlist .le-details__card-text{
  width:100%!important;
  max-width:27ch!important;
  margin:34px auto 0!important;
  text-align:center!important;
}
html body .ld-details-body .le-details__wishlist-button,
html body .ld-details-body .le-details__card--wishlist .le-details__wishlist-button{
  margin:24px auto 0!important;
  align-self:center!important;
  justify-self:auto!important;
  text-align:center!important;
}

@media(max-width:1100px){
  html body .ld-details-body .le-details__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html body .ld-details-body .le-details__card:nth-child(2n){border-right:0!important}
  html body .ld-details-body .le-details__card:nth-child(n+3){border-top:1px solid var(--ld-rule-soft)!important}
}
@media(max-width:700px){
  html body .ld-details-body .le-details__grid{grid-template-columns:1fr!important}
  html body .ld-details-body .le-details__card,
  html body .ld-details-body .le-details__card:first-child,
  html body .ld-details-body .le-details__card:nth-child(2),
  html body .ld-details-body .le-details__card:nth-child(3),
  html body .ld-details-body .le-details__card:last-child,
  html body .ld-details-body .le-details__card--wishlist{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto!important;
    min-height:0!important;
    padding:18px 0!important;
    border-right:0!important;
    border-top:1px solid var(--ld-rule-soft)!important;
    text-align:left!important;
  }
  html body .ld-details-body .le-details__card:first-child{border-top:0!important}
  html body .ld-details-body .le-details__card-icon,
  html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
    position:static!important;
    grid-column:1!important;
    grid-row:1 / span 4!important;
    translate:none!important;
    width:46px!important;
    height:46px!important;
  }
  html body .ld-details-body .le-details__provider,
  html body .ld-details-body .le-details__card--wishlist .le-details__provider{
    position:static!important;
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    margin:0 0 5px!important;
    text-align:left!important;
  }
  html body .ld-details-body .le-details__card-title,
  html body .ld-details-body .le-details__card--wishlist .le-details__card-title{
    grid-column:2!important;
    grid-row:2!important;
    text-align:left!important;
  }
  html body .ld-details-body .le-details__card-title::before{display:none!important}
  html body .ld-details-body .le-details__card-text,
  html body .ld-details-body .le-details__card--wishlist .le-details__card-text{
    grid-column:2!important;
    grid-row:3!important;
    max-width:none!important;
    margin:7px 0 0!important;
    text-align:left!important;
  }
  html body .ld-details-body .le-details__wishlist-button,
  html body .ld-details-body .le-details__card--wishlist .le-details__wishlist-button{
    grid-column:2!important;
    grid-row:4!important;
    margin:12px 0 0!important;
    justify-self:start!important;
  }
}

/* =========================================================
   V23: wishlist icon + equal detail separators
========================================================= */
/* Все короткие линии стоят строго между заголовком и текстом. */
html body .ld-details-body .le-details__card-title::before,
html body .ld-details-body .le-details__card--wishlist .le-details__card-title::before{
  display:none!important;
}
html body .ld-details-body .le-details__card-title::after,
html body .ld-details-body .le-details__card--wishlist .le-details__card-title::after{
  content:""!important;
  display:block!important;
  width:42px!important;
  height:3px!important;
  margin:28px auto 0!important;
  background:var(--ld-rule-color)!important;
  border:0!important;
  opacity:1!important;
}
html body .ld-details-body .le-details__card-text,
html body .ld-details-body .le-details__card--wishlist .le-details__card-text{
  margin:22px auto 0!important;
}

/* Отдельное, полностью независимое центрирование иконки вишлиста. */
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
  position:absolute!important;
  top:20px!important;
  left:50%!important;
  right:auto!important;
  width:58px!important;
  height:58px!important;
  margin:0!important;
  padding:0!important;
  translate:none!important;
  transform:translateX(-50%)!important;
  display:block!important;
  overflow:hidden!important;
}
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > *{
  display:none!important;
}
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > .ld-generated-icon{
  display:block!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  translate:none!important;
  transform:translate(-50%,-50%)!important;
  overflow:visible!important;
}
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > .ld-generated-icon path,
html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > .ld-generated-icon circle{
  vector-effect:non-scaling-stroke;
}

@media(max-width:700px){
  html body .ld-details-body .le-details__card-title::after,
  html body .ld-details-body .le-details__card--wishlist .le-details__card-title::after{
    width:34px!important;
    height:2px!important;
    margin:12px 0 0!important;
  }
  html body .ld-details-body .le-details__card-text,
  html body .ld-details-body .le-details__card--wishlist .le-details__card-text{
    margin:10px 0 0!important;
  }
  html body .ld-details-body .le-details__card--wishlist .le-details__card-icon{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    transform:none!important;
    grid-column:1!important;
    grid-row:1 / span 4!important;
    width:46px!important;
    height:46px!important;
  }
  html body .ld-details-body .le-details__card--wishlist .le-details__card-icon > .ld-generated-icon{
    width:23px!important;
    height:23px!important;
  }
}
