/* Reference-matched service stage: progress pills, package cards and total dock. */
.alp-builder-app-content .alp-builder-progress{gap:16px;padding-top:18px;padding-bottom:18px}
.alp-builder-app-content .alp-builder-progress li{min-height:56px;gap:11px;padding:0 22px;border:0;background:#f4f4f4;box-shadow:none;font-size:15px;font-weight:650}
.alp-builder-app-content .alp-builder-progress li.active{border:0;background:#050505;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.1)}
.alp-builder-app-content .alp-builder-progress li:nth-child(-n+3):before{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:50%;background:#e8e8e8!important;color:#111;filter:none!important;font-size:14px;font-weight:700;line-height:1}
.alp-builder-app-content .alp-builder-progress li:nth-child(1):before{content:'1'}
.alp-builder-app-content .alp-builder-progress li:nth-child(2):before{content:'2'}
.alp-builder-app-content .alp-builder-progress li:nth-child(3):before{content:'3'}
.alp-builder-app-content .alp-builder-progress li:nth-child(-n+3).active:before{background:#fff!important;color:#050505}
.alp-builder-app-content .alp-service-choices{gap:22px;max-width:900px}
.alp-builder-app-content .alp-service-choice{grid-template-columns:minmax(260px,48%) minmax(0,1fr);gap:28px;min-height:360px;padding:8px;border:1px solid #e2e2e2;border-radius:30px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.08)}
.alp-builder-app-content .alp-service-choice .alp-choice-image{min-height:344px;border-radius:23px}
.alp-builder-app-content .alp-service-choice>span:last-child{position:relative;justify-content:center;gap:12px;padding:22px 25px 18px 0}
.alp-builder-app-content .alp-service-choice strong{font-size:31px;font-weight:700;letter-spacing:-.035em}
.alp-service-popular{align-self:flex-start;display:inline-flex;min-height:32px;align-items:center;padding:0 17px;border-radius:999px;background:#050505;color:#fff;font-size:12px;font-weight:650;line-height:1}
.alp-service-features{gap:12px;margin:5px 0 7px;font-size:17px}
.alp-service-features li{align-items:center;gap:13px}
.alp-service-features li:before{content:'';display:block;flex:0 0 25px;width:25px;height:25px;border:0;border-radius:0;background:center/22px 22px no-repeat;color:transparent}
.alp-service-features li.alp-feature-person:before{background-image:url('../icons/feature-photographer.svg')}
.alp-service-features li.alp-feature-album:before{background-image:url('../icons/feature-album.svg')}
.alp-service-features li.alp-feature-frame:before{background-image:url('../icons/feature-frame.svg')}
.alp-service-features li.alp-feature-calendar:before{background-image:url('../icons/feature-calendar.svg')}
.alp-builder-app-content .alp-service-choice b{padding-top:19px;border-top:1px solid #e8e8e8;font-size:29px}
.alp-builder-app-content .alp-service-choice:has(input:checked){border-color:#050505;box-shadow:0 0 0 1px #050505,0 14px 30px rgba(0,0,0,.1)}
.alp-builder-app-content .alp-service-choice:has(input:checked) .alp-choice-image:after{display:none}
.alp-builder-app-content .alp-service-choice:after{content:'';position:absolute;right:24px;bottom:24px;width:38px;height:38px;border:1.5px solid #111;border-radius:50%;background:#fff}
.alp-builder-app-content .alp-service-choice:has(input:checked):after{content:'✓';display:grid;place-items:center;border-color:#050505;background:#050505;color:#fff;font-size:23px;font-weight:800}
.alp-builder-app-content .alp-builder-total{grid-template-columns:68px minmax(0,1fr) auto;grid-template-rows:auto auto auto;width:min(860px,calc(100vw - 42px));min-height:108px;padding:14px 18px;border-radius:32px;background:linear-gradient(120deg,#090909,#181818)}
.alp-builder-app-content .alp-booking-form{padding-bottom:150px}
.alp-builder-app-content .alp-builder-total{position:fixed!important;z-index:1000;right:auto!important;bottom:14px!important;left:50%!important;margin:0!important;transform:translateX(-50%)}
.alp-builder-app-content .alp-builder-total:before{content:'';grid-column:1;grid-row:1/4;align-self:center;width:58px;height:58px;border-radius:50%;background:#fff url('../icons/package-bag.svg') center/29px no-repeat}
.alp-builder-app-content .alp-builder-total>span,.alp-builder-app-content .alp-builder-total>strong,.alp-builder-app-content .alp-builder-total>small{grid-column:2;margin-left:12px}
.alp-builder-app-content .alp-builder-total>span{grid-row:1;font-size:12px}
.alp-builder-app-content .alp-builder-total>strong{grid-row:2;font-size:27px}
.alp-builder-app-content .alp-builder-total>small{grid-row:3;font-size:9px}
.alp-builder-app-content .alp-builder-total>small{display:none!important}
.alp-builder-app-content .alp-next-in-total,.alp-builder-app-content .alp-confirm-in-total{position:relative;display:flex;grid-column:3;grid-row:1/4;align-items:center;justify-content:center;min-width:160px;min-height:64px;margin-left:22px;padding:0 25px;border:0;border-radius:999px;background:#fff;color:#050505;font-size:17px;font-weight:800}
.alp-builder-app-content .alp-next-in-total:before,.alp-builder-app-content .alp-confirm-in-total:before{content:'';position:absolute;top:-7px;bottom:-7px;left:-12px;width:1px;background:#4d4d4d}
.alp-builder-app-content .alp-next-in-total:after{content:'→';margin-left:26px;font-size:29px;font-weight:400;line-height:0}
@media(max-width:760px){.alp-builder-app-content .alp-builder-progress{gap:8px;padding:12px 14px}.alp-builder-app-content .alp-builder-progress li{min-width:118px;min-height:48px;padding:0 14px;font-size:13px}.alp-builder-app-content .alp-builder-progress li:nth-child(-n+3):before{flex-basis:25px;width:25px;height:25px;font-size:12px}.alp-builder-app-content .alp-service-choice{grid-template-columns:45% minmax(0,1fr);gap:13px;min-height:260px;padding:7px;border-radius:23px}.alp-builder-app-content .alp-service-choice .alp-choice-image{min-height:246px;border-radius:18px}.alp-builder-app-content .alp-service-choice>span:last-child{gap:8px;padding:14px 10px 13px 0}.alp-service-popular{min-height:25px;padding:0 10px;font-size:9px}.alp-builder-app-content .alp-service-choice strong{font-size:21px}.alp-service-features{gap:6px;margin:2px 0;font-size:13px}.alp-service-features li{gap:7px}.alp-service-features li:before{flex-basis:19px;width:19px;height:19px;background-size:18px}.alp-builder-app-content .alp-service-choice b{padding-top:11px;padding-right:34px;font-size:20px}.alp-builder-app-content .alp-service-choice:after{right:13px;bottom:13px;width:29px;height:29px}.alp-builder-app-content .alp-service-choice:has(input:checked):after{font-size:17px}.alp-builder-app-content .alp-booking-form{padding-bottom:125px}.alp-builder-app-content .alp-builder-total{right:10px!important;bottom:10px!important;left:10px!important;grid-template-columns:48px minmax(0,1fr) 100px;width:auto;min-height:82px;padding:9px 11px;border-radius:25px;transform:none}.alp-builder-app-content .alp-builder-total:before{width:42px;height:42px;background-size:22px}.alp-builder-app-content .alp-builder-total>span,.alp-builder-app-content .alp-builder-total>strong,.alp-builder-app-content .alp-builder-total>small{margin-left:7px}.alp-builder-app-content .alp-builder-total>strong{font-size:21px}.alp-builder-app-content .alp-builder-total>small{max-width:180px;font-size:8px}.alp-builder-app-content .alp-next-in-total,.alp-builder-app-content .alp-confirm-in-total{min-width:96px;min-height:48px;margin-left:8px;padding:0 13px;font-size:13px}.alp-builder-app-content .alp-next-in-total:after{margin-left:12px;font-size:21px}}
.alp-builder-app-content .alp-builder-progress li{transition:background-color .35s ease,color .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.alp-builder-app-content .alp-builder-progress li.active{transform:translateY(-1px)}
.alp-builder-app-content .alp-soft-enter{animation:alpSoftEnter .58s cubic-bezier(.22,1,.36,1) both}
@keyframes alpSoftEnter{0%{opacity:.15;filter:blur(5px);transform:translateY(20px) scale(.985)}55%{opacity:1;filter:blur(0)}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.alp-builder-app-content .alp-soft-enter{animation:none}.alp-builder-app-content .alp-builder-progress li{transition:none}}

/* Minimal visual OTP sign-in screen. */
.alp-builder-app-content>.alp-builder-login-visual{display:grid;box-sizing:border-box;grid-template-rows:minmax(300px,1fr) auto;justify-content:stretch;gap:20px;min-height:calc(100svh - 72px);padding:18px clamp(18px,4vw,56px) 26px;background:#fff;text-align:left}
.alp-login-hero{width:min(980px,100%);min-height:300px;margin:0 auto;overflow:hidden;border-radius:32px;background:#eee}
.alp-login-hero img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.alp-login-bottom{width:min(720px,100%);margin:0 auto}
.alp-builder-login-visual .alp-login-bottom>h2{margin:0 0 16px;color:#080808;font-size:clamp(28px,4vw,42px);font-weight:650;line-height:1;letter-spacing:-.04em;text-align:left}
.alp-builder-login-visual .alp-otp{max-width:none;margin:0;text-align:left}
.alp-builder-login-visual .alp-otp-phone-step{display:grid;grid-template-columns:minmax(0,1fr) 58px;align-items:end;gap:12px}
.alp-builder-login-visual .alp-otp-phone-step>label{min-width:0;font-size:0}
.alp-builder-login-visual .alp-phone-input{height:58px;margin:0;padding:5px;border:1px solid #e3e3e1;border-radius:999px;background:#f5f5f3}
.alp-builder-login-visual .alp-country-code{align-self:stretch;min-width:64px;padding:0 15px;border-radius:999px;background:#fff;color:#080808;font-size:15px;box-shadow:0 3px 12px rgba(0,0,0,.06)}
.alp-builder-login-visual .alp-phone-input .alp-otp-mobile{height:100%;margin:0;padding:0 14px;border:0;background:transparent;color:#080808;font-size:16px;box-shadow:none;outline:0}
.alp-builder-login-visual .alp-otp-start{width:58px;min-width:58px;height:58px;min-height:58px;padding:0;border:0;border-radius:50%;background:#050505;color:#fff;font-size:0;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.alp-builder-login-visual .alp-otp-start:after{content:'';display:block;width:27px;height:27px;background:url('../icons/arrow-forward-white.svg') center/contain no-repeat;transform:translateY(-2px)}
.alp-builder-login-visual .alp-otp-code-step{margin-top:15px;padding:18px;border-radius:22px;background:#f5f5f3}
.alp-builder-login-visual .alp-otp-result:empty{display:none}
@media(max-width:760px){.alp-builder-app-content>.alp-builder-login-visual{grid-template-rows:minmax(270px,1fr) auto;gap:16px;min-height:calc(100svh - 62px);padding:12px 14px 20px}.alp-login-hero{min-height:270px;border-radius:25px}.alp-builder-login-visual .alp-login-bottom>h2{margin-bottom:13px;font-size:28px}.alp-builder-login-visual .alp-otp-phone-step{grid-template-columns:minmax(0,1fr) 54px;gap:9px}.alp-builder-login-visual .alp-phone-input{height:54px}.alp-builder-login-visual .alp-country-code{min-width:58px;padding:0 12px}.alp-builder-login-visual .alp-otp-start{width:54px;min-width:54px;height:54px;min-height:54px}}

/* Customization choices use a clear black selected state after base service. */
.alp-builder-app-content .alp-option-choice{transition:background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s cubic-bezier(.22,1,.36,1)}
.alp-builder-app-content .alp-option-choice:has(input:checked){border-color:#050505!important;background:#050505!important;color:#fff!important;box-shadow:0 14px 32px rgba(0,0,0,.18)!important;transform:translateY(-2px)}
.alp-builder-app-content .alp-option-choice:has(input:checked) strong,.alp-builder-app-content .alp-option-choice:has(input:checked) small,.alp-builder-app-content .alp-option-choice:has(input:checked) b,.alp-builder-app-content .alp-option-choice:has(input:checked) .alp-quantity{color:#fff!important}
.alp-builder-app-content .alp-option-choice:has(input:checked) em{border:1px solid rgba(255,255,255,.45);background:#fff!important;color:#050505!important}
.alp-builder-app-content .alp-option-choice:has(input:checked) .alp-quantity input{border-color:#fff;background:#fff;color:#050505}
@media(prefers-reduced-motion:reduce){.alp-builder-app-content .alp-option-choice{transition:none}.alp-builder-app-content .alp-option-choice:has(input:checked){transform:none}}
