/* Destination Love: one responsive composition for the map, passport and travel tickets. */
body.sa-skin-webgency_destination_love{--wg-space:46px;--wg-gutter:24px;--dl-rule:color-mix(in srgb,var(--gold) 65%,transparent)}
body.sa-skin-webgency_destination_love .sa-hero-overlay{background:none}
body.sa-skin-webgency_destination_love.wg-stock-hero .sa-hero{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:auto;min-height:0;max-height:none;background:var(--ivory)!important;padding-top:82px}
body.sa-skin-webgency_destination_love.wg-stock-hero #saHeroOverlay{position:relative;inset:auto;order:1;min-height:0;flex-shrink:0;display:flex;flex-direction:column;padding:0 22px;text-align:center;max-width:620px}
body.sa-skin-webgency_destination_love .sa-hero-title{display:flex;justify-content:center;align-items:baseline;gap:10px;flex-wrap:wrap;order:0;margin:0 0 10px}
body.sa-skin-webgency_destination_love .sa-hero-name{font-size:clamp(39px,12vw,60px);line-height:1.15;color:var(--title)!important}
body.sa-skin-webgency_destination_love .sa-hero-amp{font-size:29px;color:var(--title)!important;margin:0}
body.sa-skin-webgency_destination_love .sa-hero-kicker{order:1;font:clamp(18px,5vw,23px)/1.5 var(--font-display);letter-spacing:0;color:var(--title)!important;margin:0}
body.sa-skin-webgency_destination_love .sa-hero-kicker-text{font-family:var(--font-display)!important}
body.sa-skin-webgency_destination_love.wg-stock-hero :is(.sa-hero-date,#heroScroll){display:none}
body.sa-skin-webgency_destination_love.wg-stock-hero .sa-hero>div:first-child{position:relative;inset:auto;order:2;width:min(100%,620px);height:clamp(260px,72vw,380px);margin-top:20px;flex-shrink:0;background:transparent}
body.sa-skin-webgency_destination_love.wg-stock-hero .sa-hero img.wg-map-hero{position:absolute;inset:0;width:100%;height:92%;object-fit:contain;max-width:none}
body.sa-skin-webgency_destination_love .wg-map-route{position:absolute;inset-inline:0;bottom:0;width:100%;height:45%;color:var(--gold);overflow:visible}
body.sa-skin-webgency_destination_love.wg-stock-hero .sa-hero img.wg-map-plane{position:absolute;top:auto;left:24%;bottom:27%;width:34px;height:34px;object-fit:contain;transform:rotate(18deg)}
body.sa-skin-webgency_destination_love .wg-boarding-ribbon{position:absolute;inset-inline:0;top:26px;display:flex;gap:28px;white-space:nowrap;overflow:hidden;background:var(--paper);color:var(--ink);padding:6px 0;font:14px/1.4 var(--font-display);direction:ltr}
body.sa-skin-webgency_destination_love .wg-boarding-ribbon span{flex-shrink:0;animation:dl-ribbon 16s linear infinite}
@keyframes dl-ribbon{from{transform:translateX(0)}to{transform:translateX(-120px)}}
body.sa-skin-webgency_destination_love .wg-welcome{padding:18px var(--wg-gutter) 0;background:var(--ivory)}
body.sa-skin-webgency_destination_love .wg-recipient{font-size:13px;margin-bottom:13px}
body.sa-skin-webgency_destination_love .wg-letter{max-width:450px}
body.sa-skin-webgency_destination_love .wg-welcome .sa-text-root{font-size:18px!important;line-height:1.7!important;padding:0!important}
body.sa-skin-webgency_destination_love .wg-welcome .sa-text-root p:first-child{font-size:38px;margin-bottom:16px}
body.sa-skin-webgency_destination_love .wg-welcome-meta{text-align:center;font:17px/1.6 var(--font-display);margin:24px auto 32px}
body.sa-skin-webgency_destination_love .wg-passport{position:relative;width:calc(100% + 2 * var(--wg-gutter));max-width:none;margin:0 calc(-1 * var(--wg-gutter));padding:40px 24px 28px;background:var(--paper);color:var(--ink);text-align:start;border-block:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
body.sa-skin-webgency_destination_love .wg-passport h2{text-align:center;font:clamp(35px,10vw,48px)/1.2 var(--font-script);color:var(--title);margin:0 0 25px}
body.sa-skin-webgency_destination_love .wg-ticket-rule{border-block:1px dashed var(--dl-rule);padding:8px 0;text-align:center;font:10px/1.4 var(--font-display);letter-spacing:.13em;text-transform:uppercase;overflow-wrap:anywhere}
body.sa-skin-webgency_destination_love .wg-passport-meta{display:flex;gap:18px;justify-content:space-between;margin:20px 0;text-transform:uppercase}
body.sa-skin-webgency_destination_love .wg-passport-meta>div{min-width:0;max-width:65%}
body.sa-skin-webgency_destination_love .wg-passport-meta span{display:block;font-size:9px;letter-spacing:.12em;margin-bottom:5px}
body.sa-skin-webgency_destination_love .wg-passport-meta strong{font:13px/1.4 var(--font-display);overflow-wrap:anywhere}
body.sa-skin-webgency_destination_love .wg-passport>.wg-photo{border-radius:3px;aspect-ratio:1.2;object-fit:cover}
/* no photo yet: the passport keeps its photo box, with the couple's initials */
body.sa-skin-webgency_destination_love .wg-passport>.wg-photo--empty{display:grid;place-items:center;background:color-mix(in oklab,currentColor 8%,transparent);border:1px dashed color-mix(in oklab,currentColor 30%,transparent)}
body.sa-skin-webgency_destination_love .wg-passport>.wg-photo--empty span{font-size:1.6em;letter-spacing:.06em;opacity:.7}
body.sa-skin-webgency_destination_love .wg-passport-data{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding:25px 0 18px}
body.sa-skin-webgency_destination_love .wg-passport-data>div:first-child,body.sa-skin-webgency_destination_love .wg-passport-data>div:last-child{grid-column:1/-1}
body.sa-skin-webgency_destination_love .wg-passport-data span{display:block;font:10px/1.4 var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
body.sa-skin-webgency_destination_love .wg-passport-data strong{display:block;font:18px/1.5 var(--font-display);font-weight:400;max-width:100%;overflow-wrap:anywhere}
body.sa-skin-webgency_destination_love .wg-passport-data>div:last-child{padding-inline-end:95px;min-height:70px}
body.sa-skin-webgency_destination_love .wg-passport-stamp{position:absolute;width:82px;height:82px;object-fit:contain;inset-inline-end:22px;bottom:87px;transform:rotate(-16deg);opacity:.75}
body.sa-skin-webgency_destination_love .wg-passport-code{font:12px/1.7 monospace;letter-spacing:.04em;overflow:hidden;white-space:nowrap;direction:ltr;padding-top:16px;border-top:1px dashed var(--dl-rule)}
body.sa-skin-webgency_destination_love #countdown{background:var(--paper);padding-block:28px 36px}
body.sa-skin-webgency_destination_love #countdown h2{font-size:30px}
body.sa-skin-webgency_destination_love #program{padding-block:58px 40px;padding-inline:22px}
body.sa-skin-webgency_destination_love #program .sa-prog-line-v{display:none!important}
body.sa-skin-webgency_destination_love #program .sa-prog-row{min-height:100px;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);column-gap:12px}
body.sa-skin-webgency_destination_love #program .sa-prog-row>div:first-child{visibility:hidden}
body.sa-skin-webgency_destination_love #program .sa-prog-time{font-size:19px;line-height:1.4}
body.sa-skin-webgency_destination_love #program .sa-prog-row h3{font-size:17px;line-height:1.4}
body.sa-skin-webgency_destination_love #program .sa-prog-row p{font-size:13px;line-height:1.6}
body.sa-skin-webgency_destination_love #program>.wg-flight{position:absolute;z-index:1;top:160px;left:calc(50% - 40px);width:80px;height:calc(100% - 205px);pointer-events:none;color:var(--gold)}
body.sa-skin-webgency_destination_love .wg-flight-svg{position:absolute;inset:0;width:100%;height:100%;max-width:none;overflow:visible}
body.sa-skin-webgency_destination_love .wg-flight-plane{position:absolute!important;width:30px;height:30px;object-fit:contain;top:0;left:25px;max-width:none;z-index:2;transform:translate(-50%,-50%)}
body.sa-skin-webgency_destination_love #details{padding-top:40px}
body.sa-skin-webgency_destination_love .wg-venue-art{width:100%;max-width:600px;max-height:none;margin:26px auto 0;object-fit:cover;border-radius:2px}
body.sa-skin-webgency_destination_love .sa-map-embed .sa-gallery-card{border-radius:2px}
body.sa-skin-webgency_destination_love .wg-fashion{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;max-width:650px;padding-bottom:14px;margin-top:28px;scrollbar-width:thin;scrollbar-color:var(--gold) var(--paper);overscroll-behavior-inline:contain}
body.sa-skin-webgency_destination_love .wg-fashion img{flex:0 0 74%;width:74%;max-width:420px;aspect-ratio:3/4;object-fit:cover;border-radius:2px;scroll-snap-align:center}
body.sa-skin-webgency_destination_love .wg-fashion:has(img:only-child){display:flex;max-width:420px}
body.sa-skin-webgency_destination_love .wg-fashion img:only-child{flex-basis:100%;width:100%}
body.sa-skin-webgency_destination_love .wg-fashion-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0 0;font:13px var(--font-display)}
body.sa-skin-webgency_destination_love .wg-fashion-nav button{height:44px;width:44px;border:1px solid var(--dl-rule);border-radius:50%;background:var(--ivory);color:var(--ink);font-size:20px}
body.sa-skin-webgency_destination_love .wg-dress-colors{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:27px auto 0}
body.sa-skin-webgency_destination_love .wg-swatch{width:34px;height:34px;display:block;border-radius:50%;background:var(--swatch);border:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}
body.sa-skin-webgency_destination_love #gifts{padding-block:45px 48px}
body.sa-skin-webgency_destination_love #gifts>.wg-notes-heading{text-align:center;margin:0 0 30px;font:37px/1.3 var(--font-script)}
body.sa-skin-webgency_destination_love #gifts>div,body.sa-skin-webgency_destination_love .wg-travel-ticket{position:relative;background:var(--paper);border-radius:12px;margin:0 auto 22px;padding:28px 67px 28px 22px;max-width:560px;min-height:150px;text-align:start;mask:radial-gradient(circle at 0 50%,transparent 7px,#000 7.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 7px,#000 7.5px) right/51% 100% no-repeat}
html[dir=rtl] body.sa-skin-webgency_destination_love #gifts>div,html[dir=rtl] body.sa-skin-webgency_destination_love .wg-travel-ticket{padding:28px 22px 28px 67px}
body.sa-skin-webgency_destination_love #gifts>div::before,body.sa-skin-webgency_destination_love .wg-travel-ticket::before{content:'';position:absolute;inset-block:0;inset-inline-end:48px;border-inline-start:2px dashed var(--ivory)}
body.sa-skin-webgency_destination_love #gifts>div::after,body.sa-skin-webgency_destination_love .wg-travel-ticket::after{content:'';position:absolute;top:calc(50% - 15px);inset-inline-end:9px;width:30px;height:30px;background:var(--wg-asset-plane,url('/assets/webgency_destination_love/plane.webp')) center/contain no-repeat}
body.sa-skin-webgency_destination_love #gifts h2:not(.wg-notes-heading),body.sa-skin-webgency_destination_love .wg-travel-ticket h3{font:27px/1.3 var(--font-script);margin:0 0 14px;color:var(--title)}
body.sa-skin-webgency_destination_love #gifts .sa-text-section__body{font:16px/1.7 var(--font-display);text-align:start}
body.sa-skin-webgency_destination_love #rsvp{padding-top:22px}
body.sa-skin-webgency_destination_love #rsvp form{border:1px solid var(--dl-rule);border-radius:10px;background:var(--paper);padding:30px 24px;position:relative}
body.sa-skin-webgency_destination_love #rsvp form::before{content:'';display:block;height:24px;border-bottom:1px dashed var(--dl-rule);margin-bottom:28px;background:var(--wg-asset-plane,url('/assets/webgency_destination_love/plane.webp')) center top/24px 24px no-repeat;padding-bottom:22px}
body.sa-skin-webgency_destination_love #rsvp form :is(input:not([type=checkbox]):not([type=radio]),textarea,select){font-size:16px;min-height:44px;color:var(--ink)}
body.sa-skin-webgency_destination_love #rsvp form label{color:var(--ink)}
body.sa-skin-webgency_destination_love #rsvp button[type=submit]{min-height:46px;padding-inline:28px}
body.sa-skin-webgency_destination_love #closing{padding-top:32px}
body.sa-skin-webgency_destination_love .wg-closing-photo{margin-top:30px}
body.sa-skin-webgency_destination_love .dl-reveal{animation:dl-arrive .7s ease-out both}
@keyframes dl-arrive{from{transform:translateY(20px)}to{transform:translateY(0)}}
@media(min-width:768px){body.sa-skin-webgency_destination_love{--wg-gutter:44px}body.sa-skin-webgency_destination_love main{max-width:860px;margin:auto}body.sa-skin-webgency_destination_love .wg-passport{max-width:580px;width:100%;margin-inline:auto;padding-inline:40px}body.sa-skin-webgency_destination_love #countdown{max-width:580px;margin-inline:auto}body.sa-skin-webgency_destination_love .wg-fashion img{flex-basis:48%;width:48%}}
@media(prefers-reduced-motion:reduce){body.sa-skin-webgency_destination_love .wg-boarding-ribbon span,body.sa-skin-webgency_destination_love .dl-reveal{animation:none}body.sa-skin-webgency_destination_love .wg-fashion{scroll-behavior:auto}}

body.sa-skin-webgency_destination_love #gifts>.wg-empty-gift{display:none}

body.sa-skin-webgency_destination_love.wg-stock-hero .wg-map-plane{animation:dl-map-flight 7s ease-in-out infinite alternate}
@keyframes dl-map-flight{from{translate:-6px -3px}to{translate:12px 7px}}
@media(prefers-reduced-motion:reduce){body.sa-skin-webgency_destination_love.wg-stock-hero .wg-map-plane{animation:none}}

body.sa-skin-webgency_destination_love .wg-boarding-ribbon span,body.sa-skin-webgency_destination_love.wg-stock-hero .wg-map-plane{animation-play-state:paused}
body.sa-skin-webgency_destination_love .dl-hero-active .wg-boarding-ribbon span,body.sa-skin-webgency_destination_love.wg-stock-hero .dl-hero-active .wg-map-plane{animation-play-state:running}

/* The venue photo as a postcard (Release 2): a white card inside an airmail border in the design's own sage and
   ink, with the passport's stamp on its corner (hidden with it: --wg-asset-travel-stamp:none). The design's own
   venue photo (--sample, catalogue demo only) keeps .wg-venue-art above. */
body.sa-skin-webgency_destination_love #details .sa-venue-photo:not(.sa-venue-photo--sample){max-width:420px;margin-top:34px;padding:10px 10px 12px;background:var(--paper) padding-box;border:7px solid transparent;border-image:repeating-linear-gradient(135deg,var(--btn-bg) 0 9px,var(--paper) 9px 15px,var(--gold) 15px 24px,var(--paper) 24px 30px) 7;box-shadow:0 12px 28px rgba(40,52,44,.16);transform:rotate(1deg)}
html[dir=rtl] body.sa-skin-webgency_destination_love #details .sa-venue-photo:not(.sa-venue-photo--sample){transform:rotate(-1deg)}
body.sa-skin-webgency_destination_love .sa-venue-photo:not(.sa-venue-photo--sample) .sa-venue-photo__img{border-radius:2px;max-height:460px}
body.sa-skin-webgency_destination_love #details .sa-venue-photo:not(.sa-venue-photo--sample)::after{content:'';position:absolute;z-index:1;top:-20px;inset-inline-end:-16px;width:74px;height:74px;background:var(--wg-asset-travel-stamp,url('/assets/webgency_destination_love/travel-stamp.webp')) center/contain no-repeat;transform:rotate(14deg);opacity:.85;pointer-events:none}
