/* Customer cabinet preview — approved option B ("the workspace").
   Palette, type and rectangular card language follow the approved mockup
   outputs/wedding4you-cabinet-mockups/option-b.html + mockups.css and the
   public site (shared.css / white-wedding.css / ru/ru.css). Fonts resolve
   locally only: no webfont or other network resource is loaded here. */
:root{
  --paper:#f7f8f2;--card:#fff;--ink:#30392a;--muted:#626a5b;
  --olive:#596344;--dark:#40573f;--sage:#e9eee8;--banner:#eaf0e5;
  --rule:#d9dbcf;--card-rule:#e0e4d9;--pill:#f5f7ef;--pill-rule:#d6ddcc;
  --warm:#f9f3e8;--warm-rule:#e8dec8;--warm-ink:#675f4d;
  --serif:"Frank Ruhl Libre",Georgia,"Times New Roman",serif;
  --sans:Heebo,Arial,"Noto Sans",sans-serif;
}
html[lang=he]{--serif:"Frank Ruhl Libre","David Libre",David,"Times New Roman",serif;--sans:Heebo,"Noto Sans Hebrew",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans);overflow-wrap:break-word}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin-top:0}
h1{line-height:1.15;letter-spacing:-.02em}
h2{line-height:1.25}
p{margin-top:0;overflow-wrap:break-word}
a{color:inherit;text-underline-offset:4px}
img{display:block;max-width:100%}
button,input,select{font:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--dark);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;inset-block-start:-5rem;inset-inline-start:1rem;z-index:10;background:var(--card);border:1px solid var(--dark);padding:10px 16px;border-radius:5px;text-decoration:none}
.skip-link:focus{inset-block-start:1rem}

/* Header ---------------------------------------------------------------- */
.cp-header{background:var(--card);border-bottom:1px solid #e1dacb}
.cp-header-inner{max-width:1450px;margin:0 auto;min-height:104px;padding:8px 4%;display:flex;align-items:center;gap:20px 30px}
.cp-logo{flex:none;width:142px;text-decoration:none}
.cp-logo img{width:142px;height:94px;object-fit:contain}
.cp-topnav{display:flex;gap:7px;flex-wrap:wrap;margin-inline-start:auto;justify-content:flex-end}
.cp-topnav a,.cp-language select{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 15px;border:1px solid var(--pill-rule);border-radius:24px;background:var(--pill);color:var(--ink);text-decoration:none;font-size:14px;white-space:nowrap}
.cp-topnav a:hover{background:#e7eddd;border-color:#97a47f}
.cp-topnav a[aria-current]{background:var(--dark);border-color:var(--dark);color:#fff}
.cp-language{flex:none}
.cp-language select{padding-inline:12px}

.preview-banner{background:var(--dark);color:#fff;margin:0;padding:9px 4%;text-align:center;font-size:13px;line-height:1.45}
.preview-banner strong{font-weight:700}

/* Greeting -------------------------------------------------------------- */
.cp-wrap{max-width:1320px;margin:0 auto;padding:38px 4% 66px}
.cp-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px;align-items:end;margin-bottom:31px}
.cp-intro-copy h1{font-size:clamp(34px,4vw,60px);margin:11px 0}
.cp-intro-copy p{margin:0;color:var(--muted);font-size:17px}
.cp-intro-meta{align-self:center;margin:0;color:var(--muted);font-size:14px;text-align:end}
.tag{display:inline-flex;align-items:center;gap:6px;border-radius:24px;padding:6px 11px;font-size:12px;font-weight:700;background:#eaf0e5;color:#375139}
.tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#6e8a58;flex:none}
.tag-outline{background:transparent;border:1px solid #bac8b1}
.tag-outline::before{background:#b8a068}
.tag-personal{background:transparent;border:1px solid var(--pill-rule);color:var(--dark)}
.tag-personal::before{background:var(--olive)}

/* Shell ----------------------------------------------------------------- */
.cp-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:35px}
.cp-side{border-top:1px solid var(--rule);padding-top:18px}
.cp-side-label{font-size:13px;color:var(--muted);margin-bottom:12px}
.cp-side a{display:block;padding:11px 13px;border-radius:5px;color:var(--dark);font-size:14px;text-decoration:none}
.cp-side a:hover{background:#eef2e8}
.cp-side a[aria-current]{background:#e8eee1;font-weight:700}
.cp-main{min-width:0}

/* Current stage banner --------------------------------------------------- */
.cp-banner{display:grid;grid-template-columns:minmax(0,1fr) 240px;background:var(--banner);border:1px solid #dbe5d5;min-height:174px;overflow:hidden}
.cp-banner-copy{padding:25px 29px}
.cp-banner-copy h2{font-size:clamp(23px,2.4vw,29px);margin:7px 0 9px}
.cp-banner-copy p{font-size:14px;max-width:58ch;margin:0}
.cp-progress{display:flex;gap:5px;margin-top:14px;max-width:420px}
.cp-progress span{height:6px;flex:1;border-radius:6px;background:#dce3d5}
.cp-progress span.is-marked{background:#70865d}
.cp-progress-note{margin:8px 0 0;font-size:12px;color:var(--muted)}
.cp-banner-photo{width:100%;height:100%;object-fit:cover;object-position:center}

/* Partner cards ---------------------------------------------------------- */
.cp-partners{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}
.cp-person{background:var(--card);border:1px solid var(--card-rule);padding:24px}
.cp-person-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--rule)}
.cp-avatar{width:42px;height:42px;border-radius:50%;background:#e2e9db;display:grid;place-items:center;font:18px var(--serif);color:var(--dark);flex:none}
.cp-avatar[data-partner=one]::before{content:"А"}
.cp-avatar[data-partner=two]::before{content:"М"}
html[lang=he] .cp-avatar[data-partner=one]::before{content:"א"}
html[lang=he] .cp-avatar[data-partner=two]::before{content:"מ"}
.cp-person-head h3{font-size:22px;margin:0}
.cp-person-head p{margin:2px 0 0;font-size:12px;color:var(--muted)}
.cp-task{padding:20px 0 0}
.cp-task strong{display:block;font-size:17px;line-height:1.35}
.cp-task p{margin:7px 0 17px;font-size:14px;color:var(--muted)}

/* Buttons and links ------------------------------------------------------ */
.cp-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid var(--dark);border-radius:5px;background:var(--dark);color:#fff;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 4px 0 #d7dec9}
.cp-button:hover{background:#354a35}
.cp-button-quiet{background:transparent;color:var(--dark);border-color:#aab9a1;box-shadow:none}
.cp-button-quiet:hover{background:#eef2e8}
.cp-link-external{display:inline-flex;align-items:center;gap:5px;min-height:40px;color:var(--dark);font-size:14px}
.cp-ext{display:inline-block}
[dir=rtl] .cp-ext{transform:scaleX(-1)}

/* Documents and ceremony ------------------------------------------------- */
.cp-bottom{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:25px;align-items:start}
.cp-sheet{background:var(--card);border:1px solid var(--card-rule);padding:24px}
.cp-main>.cp-sheet{margin-top:25px}
.cp-sheet h2{font-size:clamp(21px,2.2vw,26px);margin:0 0 10px}
.cp-sheet-lead{font-size:14px;color:var(--muted);margin:0 0 14px}
.cp-small{font-size:12px;line-height:1.55}
.cp-muted{color:var(--muted)}
.cp-doclist{list-style:none;margin:0 0 14px;padding:0}
.cp-doc{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:4px 9px;align-items:center;border-top:1px solid var(--rule);padding:11px 0;font-size:14px}
.cp-doc-icon{color:var(--olive);font-size:20px;line-height:1}
.cp-doc-state{font-size:12px;color:var(--muted);text-align:end}
.cp-doc-note{grid-column:2/-1;margin:0;font-size:12px;color:var(--muted)}

.cp-note{background:var(--warm);border:1px solid var(--warm-rule);padding:25px}
.cp-note h2{font-size:clamp(21px,2.2vw,26px);margin:5px 0 11px}
.cp-note p{font-size:14px;margin:0 0 15px}
.cp-note .cp-small{color:var(--warm-ink);margin-bottom:0}
.cp-calendar-link{max-width:100%;gap:7px;text-align:center;white-space:normal;margin-bottom:12px}
.cp-note .cp-calendar-note{margin-bottom:12px}
.cp-status{font-size:13px;color:var(--dark);margin:0 0 15px;min-height:20px}
.checkout-card{max-width:720px;margin:0 auto}
.checkout-price{font:400 42px/1.1 var(--serif);color:var(--dark);margin:16px 0}
.checkout-actions{display:grid;gap:12px;justify-items:start}
.checkout-status{min-height:48px;padding:12px 14px;background:var(--sage);border-inline-start:3px solid var(--dark);overflow-wrap:anywhere}
.checkout-status[data-kind="error"]{background:var(--warm);border-color:#8d3630}
.checkout-status[data-kind="pending"]{background:var(--warm);border-color:#a68a4d}
.checkout-meta{font-size:13px;color:var(--muted)}
.checkout-cta[hidden]{display:none}
.checkout-actions #checkout-start[hidden]{display:none}
.cc-process-status-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.cc-process-status-item{min-width:0;padding:14px;background:#fff;border:1px solid var(--rule)}
.cc-process-status-item strong{display:block;font-size:14px}
.cc-process-status-item>a{display:inline-flex;align-items:center;min-height:44px;margin-top:4px}
.cc-process-status-item .badge{margin:10px 0}
.cc-process-status-item p:last-child{margin-bottom:0}
@media(max-width:650px){.cc-process-status-list{grid-template-columns:minmax(0,1fr)}}

/* Stages ----------------------------------------------------------------- */
.cp-stages{list-style:none;margin:0;padding:0}
.cp-stage{border-top:1px solid var(--rule);padding:14px 0}
.cp-stage.is-locked{color:var(--muted)}
.cp-stage-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cp-stage-title{font-weight:700;font-size:15px;margin-inline-end:auto}
.badge{display:inline-flex;align-items:center;border-radius:24px;padding:3px 10px;font-size:11px;font-weight:700}
.badge-sample{background:var(--sage);color:var(--muted)}
.badge-user{background:#e3ecdb;color:#375139}
.badge-unverified{background:transparent;border:1px solid var(--pill-rule);color:var(--muted)}
.cp-stage-details{margin-top:8px;font-size:13px;color:var(--muted)}
.cp-stage-details summary{cursor:pointer;color:var(--dark);font-weight:700}
.cp-stage-details p{margin:8px 0 0}
.cp-stage-mark{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;min-height:40px}
.cp-stage-mark input{width:18px;height:18px;flex:none;accent-color:var(--dark)}

/* Fees and invitation ----------------------------------------------------- */
.cp-live-calendar{margin:14px 0}
.cp-calendar-panel{min-width:0;margin-top:12px;padding:12px;background:#fff;border:1px solid var(--rule)}
.cp-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}
.cp-calendar-nav strong{text-align:center;font-size:15px}
.cp-calendar-nav button{flex:none;width:44px;height:44px;border:1px solid var(--pill-rule);background:#fff;color:var(--dark);font-size:22px}
.cp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:12px 0}
.cp-calendar-weekday{min-width:0;text-align:center;font-size:.78rem;color:var(--muted);padding:3px 0}
.cp-calendar-day{min-width:0;min-height:38px;border:1px solid var(--pill-rule);background:#f4f7ee;color:var(--dark);font:inherit}
.cp-calendar-day:disabled{background:#f7f7f5;color:#888;border-color:#eee}
.cp-calendar-day[aria-pressed=true],.cp-calendar-slot[aria-pressed=true]{outline:2px solid var(--dark);outline-offset:-2px}
.cp-calendar-slots{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.cp-calendar-slot{min-height:44px;min-width:72px;padding:7px;border:1px solid var(--pill-rule);background:#fff;color:var(--dark);font:inherit}
.cp-calendar-status,.cp-calendar-error,.cp-calendar-picked{font-size:13px;margin:10px 0;overflow-wrap:anywhere}
.cp-calendar-error{color:#8d3630}
.cp-calendar-picked{font-weight:700;color:var(--dark)}
.cp-booking-prep{margin-top:18px;padding-top:18px;border-top:1px solid var(--warm-rule);min-width:0}
.cp-booking-prep h3{font:400 22px/1.2 var(--serif);margin:0 0 10px}
.cp-prep-slot{font-weight:700;overflow-wrap:anywhere}
.cp-prep-status{padding:9px 12px;background:#f4f7ee;color:var(--dark);border-inline-start:3px solid var(--dark);font-weight:700}
.cp-booking-prep .booking-form{margin-top:18px}
.cp-booking-prep .booking-form h3{font-size:18px}
.cp-booking-prep .booking-form .info-block{padding:11px;background:#fff;border:1px solid var(--rule)}
.cp-draft-guide{padding:11px 12px;background:#eef3e9;border-inline-start:3px solid var(--dark);display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cp-draft-guide p{flex:1 1 180px;margin:0!important;font-weight:700}
.cp-draft-guide-button{min-height:40px;padding:7px 11px;background:#fff;color:var(--dark);border:1px solid var(--dark);font:inherit;font-weight:700;cursor:pointer}
.cp-booking-prep .booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.cp-booking-prep .stack-field{display:grid;gap:5px;min-width:0}
.cp-booking-prep .stack-field:has(textarea){grid-column:1/-1}
.cp-booking-prep .stack-label{font-size:13px;font-weight:700}
.cp-booking-prep input,.cp-booking-prep textarea{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid var(--pill-rule);background:#fff;color:var(--dark);font:inherit;border-radius:3px}
.cp-booking-prep textarea{resize:vertical}
.cp-booking-prep input[aria-invalid=true]{border-color:#8d3630}
.cp-booking-prep .field-error{color:#8d3630;font-size:12px}
.cp-booking-prep .btn{min-height:44px;padding:9px 15px;border:1px solid var(--dark);background:var(--dark);color:white;font:inherit;font-weight:700;cursor:pointer}
.cp-booking-prep .booking-review-list{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,1.4fr);gap:5px 10px;overflow-wrap:anywhere;font-size:13px}
.cp-booking-prep .booking-review-list dt{font-weight:700}
.cp-booking-prep .booking-review-list dd{margin:0}
@media(max-width:430px){.cp-booking-prep .booking-grid,.cp-booking-prep .booking-review-list{grid-template-columns:minmax(0,1fr)}}
.cp-fees{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cp-fee{background:#f4f7ee;border:1px solid var(--card-rule);padding:20px}
.cp-fee-official{background:var(--warm);border-color:var(--warm-rule)}
.cp-fee-label{margin:0 0 6px;font-size:13px;color:var(--muted)}
.cp-fee-amount{font:400 34px/1.1 var(--serif);margin:0 0 10px;color:var(--dark)}
.cp-fee-note{font-size:13px;margin:0 0 14px}
.cp-invitation{border-top:1px solid var(--rule);margin-top:20px;padding-top:18px}
.cp-invitation h3{font-size:20px;margin:0 0 8px}
.cp-inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end;max-width:540px}
.cp-inline-form label{width:100%;font-size:13px;font-weight:700;color:var(--dark)}
.cp-inline-form input{flex:1 1 200px;min-width:0;min-height:44px;border:1px solid var(--pill-rule);border-radius:5px;padding:10px 12px;background:#fff;font-size:14px}

/* Personal gates ---------------------------------------------------------- */
.cp-gates{list-style:none;margin:0;padding:0}
.cp-gate{border-top:1px solid var(--rule);padding:14px 0}
.cp-gate strong{display:block;font-size:15px;margin-top:8px}
.cp-gate p{margin:6px 0 0;font-size:13px;color:var(--muted)}

.cp-footer{max-width:1320px;margin:0 auto;padding:24px 4% 44px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.cp-footer p{margin:0}

/* Opt-in preview guide: olive wings and a warm heart, shared with this UI. */
.cupid-helper{position:fixed;z-index:20;inset-inline-end:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:min(340px,calc(100vw - 32px));display:grid;justify-items:end;gap:10px}
.cupid-panel{position:relative;width:100%;max-height:calc(100vh - 132px);max-height:calc(100dvh - 132px);overflow-y:auto;overscroll-behavior:contain;padding:19px 20px 20px;background:#fff;border:1px solid #a8b497;box-shadow:0 12px 32px #30392a26}
.cupid-panel[hidden]{display:none}
.cupid-panel-head{display:flex;align-items:center;gap:10px;padding-inline-end:30px;margin-bottom:10px}
.cupid-mascot{flex:none;width:92px;height:82px;object-fit:contain}
.cupid-panel h2{font:400 24px/1.2 var(--serif);margin:0 0 3px;color:var(--dark)}
.cupid-panel p{font-size:14px;line-height:1.5;margin:0 0 14px}
.cupid-panel-head p{margin:0;color:var(--muted);font-size:12px}
.cupid-motion-toggle{display:block;min-height:44px;margin:0 0 12px auto;padding:3px 0;border:0;background:transparent;color:var(--dark);font:12px/1.4 var(--sans);text-decoration:underline;cursor:pointer}
.cupid-motion-toggle:disabled{color:var(--muted);text-decoration:none;cursor:default}
.cupid-motion-toggle:focus-visible{outline:2px solid #9b695b;outline-offset:3px}
.cupid-close{position:absolute;inset-block-start:8px;inset-inline-end:8px;width:44px;height:44px;border:0;background:transparent;color:var(--dark);font:32px/1 var(--sans);border-radius:50%}
.cupid-close:hover{background:var(--sage)}
.cupid-call,.cupid-point-button{min-height:44px;border:1px solid var(--dark);background:var(--dark);color:#fff;font-weight:700}
.cupid-call{display:inline-flex;align-items:center;gap:9px;padding:8px 17px;border-radius:30px;box-shadow:0 5px 18px #30392a29}
.cupid-call>svg{width:30px;height:30px;color:#f6e3d9}
.cupid-call-mascot{display:inline-block;flex:none;width:58px;height:55px;margin-block:-12px;filter:drop-shadow(0 2px 2px #1e321b55);transform-origin:65% 80%;animation:cupid-ready 5s ease-in-out infinite}
.cupid-call:hover .cupid-call-mascot,.cupid-call:focus-visible .cupid-call-mascot{transform:translateY(-3px) rotate(-5deg)}
.cupid-call.cupid-shooting .cupid-call-mascot{animation:none}
@keyframes cupid-ready{50%{transform:translateY(-3px) rotate(-2deg)}}
.cupid-character{display:block;width:100%;height:100%;overflow:visible}
.cupid-wing,.cupid-bow-arm,.cupid-eyes,.cupid-bowstring{transform-box:fill-box}
.cupid-wing-left{transform-origin:80% 80%;animation:cupid-left-wing 4.8s ease-in-out infinite}
.cupid-wing-right{transform-origin:20% 80%;animation:cupid-right-wing 4.8s ease-in-out infinite}
.cupid-eyes{transform-origin:center;animation:cupid-blink 6.2s linear infinite}
.cupid-bow-arm{transform-origin:10% 65%;animation:cupid-aim-idle 5s ease-in-out infinite}
@keyframes cupid-left-wing{50%{transform:rotate(-9deg)}}
@keyframes cupid-right-wing{50%{transform:rotate(9deg)}}
@keyframes cupid-blink{0%,46%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.1)}}
@keyframes cupid-aim-idle{50%{transform:rotate(2deg)}}
.cupid-call.cupid-shooting .cupid-wing-left{animation:cupid-left-wing-shot .55s ease-in-out 2}
.cupid-call.cupid-shooting .cupid-wing-right{animation:cupid-right-wing-shot .55s ease-in-out 2}
.cupid-call.cupid-shooting .cupid-bow-arm{animation:cupid-bow-release 1.4s ease-out 1}
.cupid-call.cupid-shooting .cupid-bowstring{animation:cupid-string-release 1.4s ease-out 1}
@keyframes cupid-left-wing-shot{50%{transform:rotate(-17deg)}}
@keyframes cupid-right-wing-shot{50%{transform:rotate(17deg)}}
@keyframes cupid-bow-release{0%{transform:rotate(0)}20%{transform:rotate(-14deg)}32%{transform:rotate(5deg)}55%,100%{transform:rotate(0)}}
@keyframes cupid-string-release{0%{transform:translateX(0)}20%{transform:translateX(-7px)}32%,100%{transform:translateX(0)}}
.cupid-motion-paused .cupid-mascot,.cupid-motion-paused .cupid-call-mascot,
.cupid-motion-paused .cupid-wing,.cupid-motion-paused .cupid-eyes,
.cupid-motion-paused .cupid-bow-arm,.cupid-motion-paused .cupid-bowstring,
.cupid-motion-paused .cupid-call.cupid-shooting .cupid-wing,
.cupid-motion-paused .cupid-call.cupid-shooting .cupid-bow-arm,
.cupid-motion-paused .cupid-call.cupid-shooting .cupid-bowstring{animation:none}
.cupid-point-button{padding:9px 14px;border-radius:4px}
.cupid-point-button:hover,.cupid-call:hover{background:#334b34}
.cupid-question-form{display:grid;gap:6px;margin:14px 0 8px}
.cupid-question-form label{font-size:13px;font-weight:700}
.cupid-question-row{display:flex;gap:6px}
.cupid-question-row input{min-width:0;flex:1;border:1px solid #87967f;border-radius:4px;padding:8px;font:inherit}
.cupid-question-row button{min-height:44px;border:1px solid var(--dark);border-radius:4px;background:var(--dark);color:#fff;padding:7px 10px;font:inherit}
.cupid-panel .cupid-privacy{font-size:12px;color:var(--muted);margin:0 0 8px}
.cupid-answer{font-size:14px;line-height:1.5}
.cupid-answer p{margin:0 0 5px}
.cupid-answer a{color:var(--dark);text-decoration:underline}
.cupid-mascot{display:inline-block;animation:cupid-breathe 3.4s ease-in-out infinite;transform-origin:center 85%}
@keyframes cupid-breathe{50%{transform:translateY(-4px) rotate(2deg)}}
.cupid-flight{position:fixed;left:0;top:0;z-index:21;width:42px;height:18px;overflow:visible;pointer-events:none;transform-origin:38px 9px}
.cupid-flight path{fill:none;stroke:#9b695b;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cupid-landing{position:fixed;z-index:21;width:26px;height:26px;border:3px solid #9b695b;border-radius:50%;background:#fff8ea99;box-shadow:0 0 0 5px #f2d9ad88;transform:translate(-50%,-50%);pointer-events:none}
.cupid-landing::after{content:"♥";position:absolute;inset:0;display:grid;place-items:center;color:#9b695b;font:700 14px/1 var(--sans)}
.cp-stage-mark{position:relative}
.cp-stage-mark.cupid-pointed{outline:2px solid #9b695b;outline-offset:6px;background:#f9f3e8}
.cupid-pointed:not(.cp-stage-mark){outline:2px solid #9b695b;outline-offset:5px}
.cp-stage-mark.cupid-pointed::before{content:"➜";position:absolute;inset-inline-start:-25px;top:50%;font:700 25px/1 var(--sans);color:#9b695b;transform:translateY(-50%);animation:cupid-arrow 3.2s ease-out 1 forwards}
html[dir=rtl] .cp-stage-mark.cupid-pointed::before{content:"⬅"}
@keyframes cupid-arrow{0%{opacity:0;translate:-8px 0}12%,78%{opacity:1;translate:0 0}100%{opacity:0;translate:0 0}}

/* Responsive -------------------------------------------------------------- */
@media(max-width:1050px){
  .cp-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}
  .cp-banner{grid-template-columns:minmax(0,1fr) 170px}
  .cp-header-inner{flex-wrap:wrap;gap:8px 15px}
  .cp-topnav{order:3;width:100%;justify-content:flex-start}
}
@media(max-width:750px){
  .cp-header-inner{min-height:0;padding:8px 18px}
  .cp-logo,.cp-logo img{width:110px}
  .cp-logo img{height:73px}
  .cp-topnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
  .cp-topnav a{flex:none;padding:7px 12px;font-size:13px}
  .cp-language{margin-inline-start:auto}
  .cp-wrap,.cp-footer{padding-inline:18px}
  .cp-wrap{padding-top:28px}
  .cp-intro{grid-template-columns:minmax(0,1fr)}
  .cp-intro-meta{text-align:start}
  .cp-layout{display:block}
  .cp-side{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap;border-top:0;border-bottom:1px solid var(--rule);padding:0 0 12px;margin-bottom:16px}
  .cp-side-label{display:none}
  .cp-side a{flex:none}
  .cp-banner{grid-template-columns:minmax(0,1fr) 120px}
  .cp-banner-copy{padding:20px}
  .cp-partners,.cp-bottom,.cp-fees{grid-template-columns:minmax(0,1fr)}
  .cp-footer{display:block}
  .cp-footer p+p{margin-top:6px}
}
@media(max-width:430px){
  .checkout-card{padding:18px}
  .checkout-price{font-size:36px}
  .checkout-actions>.cp-button{width:100%}
  .cupid-helper{inset-inline-end:12px;bottom:max(12px,env(safe-area-inset-bottom));width:min(320px,calc(100vw - 24px))}
  .cupid-panel{max-height:min(70vh,440px,calc(100vh - 116px));max-height:min(70dvh,440px,calc(100dvh - 116px))}
  .cp-banner{grid-template-columns:minmax(0,1fr)}
  .cp-banner-photo{display:none}
  .preview-banner{font-size:12px}
  .cp-sheet,.cp-person,.cp-note{padding:18px}
  .cp-doc{grid-template-columns:25px minmax(0,1fr)}
  .cp-doc-state{grid-column:2;text-align:start}
  .cp-inline-form input{flex-basis:100%}
  .cp-inline-form button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .cupid-mascot{animation:none}
  .cupid-call-mascot{animation:none}
  .cupid-call.cupid-shooting .cupid-call-mascot{animation:none}
  .cupid-call:hover .cupid-call-mascot,.cupid-call:focus-visible .cupid-call-mascot{transform:none}
  .cupid-wing,.cupid-eyes,.cupid-bow-arm,.cupid-bowstring,
  .cupid-call.cupid-shooting .cupid-wing,.cupid-call.cupid-shooting .cupid-bow-arm,
  .cupid-call.cupid-shooting .cupid-bowstring{animation:none}
  html{scroll-behavior:auto}
  .cp-topnav a,.cp-button{transition:none}
  .cp-stage-mark.cupid-pointed::before{animation:none}
}

/* Temporary shown-v4 runtime */
.cupid-3d .cupid-call{gap:12px;min-height:64px;padding-block:8px;padding-inline:8px 20px;border:0;border-radius:999px;background:#40573f;color:#fff;font:600 14px/20px var(--sans);box-shadow:0 6px 18px #263d2940}
.cupid-3d .cupid-call:hover{background:#334b34;color:#fff}
.cupid-3d .cupid-call[aria-expanded="true"]{display:none}
.cupid-3d .cupid-call-model{width:80px;height:80px;margin-block:-12px}
.cupid-3d .cupid-panel-model{width:108px;height:108px}
.cupid-3d .cupid-model-slot{position:relative;display:inline-grid;place-items:center;flex:none;overflow:hidden;border-radius:20px;background:#f4f2e9}
.cupid-3d .cupid-model-canvas{display:block;width:100%;height:100%;pointer-events:none}
.cupid-3d .cupid-model-fallback{display:none;color:#a4615d;font:700 32px/1 var(--sans)}
.cupid-3d .cupid-model-unavailable .cupid-model-fallback{display:grid}
.cupid-3d .cupid-model-unavailable .cupid-model-canvas{display:none}
.cupid-3d .cupid-model-status{margin:0 0 10px;color:#536452;font:400 12px/17px var(--sans)}
.cupid-3d .cupid-model-status[hidden]{display:none}
.cupid-3d .cupid-panel{padding:20px;background:#f7f9f4;border:0;border-radius:28px;color:#273b2b;box-shadow:0 12px 28px #263d292b,0 3px 8px #263d2914}
.cupid-3d .cupid-panel-head{gap:12px;padding-inline-end:40px;margin-bottom:4px}
.cupid-3d .cupid-panel h2{margin:0 0 4px;color:#273b2b;font:600 22px/28px var(--sans);letter-spacing:0}
.cupid-3d .cupid-panel p{font:400 14px/20px var(--sans)}
.cupid-3d .cupid-panel .cupid-model-status{margin:0 0 10px;color:#536452;font:400 12px/17px var(--sans)}
.cupid-3d .cupid-panel-head p{color:#536452;font:400 12px/16px var(--sans)}
.cupid-3d .cupid-close{inset-block-start:12px;inset-inline-end:12px;border-radius:50%;background:#e5ede3;color:#273b2b;font:28px/1 var(--sans)}
.cupid-3d .cupid-close:hover{background:#d7e4d2}
.cupid-3d .cupid-motion-toggle{min-height:44px;margin:0 0 12px auto;padding:0 14px;border-radius:999px;background:#e5ede3;color:#273b2b;font:600 12px/16px var(--sans);text-decoration:none}
.cupid-3d .cupid-motion-toggle:hover:not(:disabled){background:#d7e4d2}
.cupid-3d .cupid-motion-toggle:disabled{background:#eef2eb;color:#667364}
.cupid-3d .cupid-point-button,.cupid-3d .cupid-question-row button{min-height:44px;padding:9px 18px;border:0;border-radius:999px;background:#40573f;color:#fff;font:600 14px/20px var(--sans);box-shadow:0 2px 5px #263d2929}
.cupid-3d .cupid-point-button:hover,.cupid-3d .cupid-question-row button:hover{background:#334b34}
.cupid-3d .cupid-question-form{gap:8px;margin:16px 0 10px}
.cupid-3d .cupid-question-form label{color:#273b2b;font:600 14px/20px var(--sans)}
.cupid-3d .cupid-question-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}
.cupid-3d .cupid-question-row input{width:100%;min-width:0;min-height:48px;padding:10px 14px;border:1px solid #8fa28b;border-radius:16px;background:#fff;color:#273b2b;font:400 14px/20px var(--sans)}
.cupid-3d .cupid-panel .cupid-privacy{color:#536452;font:400 12px/17px var(--sans)}
.cupid-3d .cupid-call:focus-visible,.cupid-3d .cupid-panel button:focus-visible,.cupid-3d .cupid-panel input:focus-visible,.cupid-3d .cupid-panel a:focus-visible{outline:3px solid #9b695b;outline-offset:3px}
.cupid-heart-particle,.cupid-heart-arc{position:absolute;left:50%;top:50%;pointer-events:none}
.cupid-heart-particle{color:#db776c;font:700 14px/1 var(--sans);animation:cupid-heart-burst 950ms cubic-bezier(.18,.62,.26,1) both}
.cupid-heart-particle:nth-child(even){color:#c29b48;font-size:11px}
@keyframes cupid-heart-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--heart-x)),calc(-50% + var(--heart-y))) scale(.85)}}
.cupid-heart-arc{width:13px;height:7px;border-top:2px solid #db776c;border-radius:50%;opacity:0;transform:translate(-50%,-50%) rotate(var(--arc-angle));animation:cupid-arc-burst 850ms ease-out both}
@keyframes cupid-arc-burst{20%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--arc-x)),calc(-50% + var(--arc-y))) rotate(var(--arc-angle))}}
@media(max-width:640px){
  .cupid-helper.cupid-3d:has(.cupid-panel[hidden]){width:72px}
  .cupid-3d .cupid-call{width:72px;height:72px;min-height:72px;padding:4px;gap:0;border-radius:24px}
  .cupid-3d .cupid-call>span:not(.cupid-model-slot){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .cupid-3d .cupid-call-model{width:64px;height:64px;margin:0}
  .cupid-3d .cupid-panel-model{width:100px;height:100px}
}
@media(prefers-reduced-motion:reduce){.cupid-heart-particle,.cupid-heart-arc{animation:none}}
