/* Dedicated full-screen package-builder app page. */
body.alp-builder-app-page{margin:0;background:#fff}
body.alp-builder-app-page .site-header,
body.alp-builder-app-page .site-footer,
body.alp-builder-app-page .content-page article>h1{display:none!important}
body.alp-builder-app-page .content-page{padding:0!important}
body.alp-builder-app-page .content-page>.wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.alp-builder-app-page .content-page article{margin:0!important;padding:0!important}
body.alp-builder-app-page .alp-pwa-install{display:none!important}
.alp-builder-app-shell{box-sizing:border-box;min-height:100svh;width:100%;background:#fff;color:#000}
.alp-builder-app-shell:not(.is-started){height:100svh;overflow:hidden}
.alp-builder-app-shell [hidden]{display:none!important}
.alp-builder-welcome{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;height:100svh;background:#fff}
.alp-builder-app-logo{display:flex;align-items:center;justify-content:center;min-height:70px;padding:5px clamp(18px,4vw,56px);background:#fff}
.alp-builder-app-logo .custom-logo-link{display:inline-flex;align-items:center}
.alp-builder-app-logo .custom-logo{display:block;width:auto;max-width:186px;max-height:47px;object-fit:contain}
.alp-builder-brand{display:inline-flex;align-items:center;gap:11px;color:#000;text-decoration:none;font-weight:800;font-size:19px;line-height:1}
.alp-builder-brand img{width:48px;height:48px;border-radius:50%}
.alp-builder-brand span{display:flex;flex-direction:column;gap:4px}
.alp-builder-brand small{font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.alp-builder-welcome-image{min-height:0;margin:0 clamp(18px,4vw,56px);overflow:hidden;border-radius:30px;background:#ddd}
.alp-builder-welcome-image img{width:100%;height:100%;object-fit:cover;object-position:center 44%}
.alp-builder-welcome-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:30px;padding:0 clamp(18px,4vw,56px) clamp(24px,4vw,48px)}
.alp-builder-welcome-copy h1{max-width:900px;margin:0;font-size:clamp(48px,6.8vw,104px);font-weight:600;line-height:.92;letter-spacing:-.065em}
.alp-builder-app-start{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:220px;min-height:62px;padding:0 25px;border:0;border-radius:999px;background:#000;color:#fff;font:800 16px/1 inherit;cursor:pointer}
.alp-builder-app-start span{font-size:25px}
.alp-builder-app-content{min-height:100svh;background:#fff}
.alp-builder-app-content>.alp-builder,.alp-builder-app-content>.alp-builder-login,.alp-builder-app-content>.alp-message{box-sizing:border-box;width:100%;max-width:none;min-height:calc(100svh - 86px);margin:0;border-radius:0;padding:clamp(24px,4vw,56px)}
.alp-builder-app-content>.alp-builder-login{display:flex;flex-direction:column;justify-content:center}
.alp-builder-app-content .alp-builder-progress{margin-bottom:14px}
.alp-builder-app-content .alp-booking-form{margin:0 auto;color:#000}
.alp-builder-app-content .alp-builder-step>h3{max-width:760px;margin:0 auto;color:#000;text-align:center;font-size:clamp(38px,5vw,64px);font-weight:600;line-height:1.02;letter-spacing:-.045em}
.alp-builder-app-content .alp-builder-step>p{max-width:650px;margin:14px auto 30px;color:#6e6e73;text-align:center;font-size:clamp(17px,2vw,21px);font-weight:400;line-height:1.45;letter-spacing:-.015em}
.alp-builder-app-content .alp-service-choices{margin-top:0}
.alp-builder-app-content .alp-builder-total{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-items:center;width:370px;padding:16px 18px 16px 22px}
.alp-builder-app-content .alp-builder-total>span{grid-column:1;grid-row:1}
.alp-builder-app-content .alp-builder-total>strong{grid-column:1;grid-row:2;font-size:26px;line-height:1.15}
.alp-builder-app-content .alp-builder-total>small{grid-column:1;grid-row:3;margin-top:5px;line-height:1.25}
.alp-builder-app-content .alp-next-in-total{grid-column:2;grid-row:1/4;align-self:center;min-width:112px;min-height:50px;margin:0 0 0 18px;border:0;background:#fff;color:#000;font-size:15px;font-weight:800;box-shadow:none}
@media(max-width:760px){.alp-builder-welcome{gap:12px}.alp-builder-app-logo{min-height:62px;padding:4px 18px}.alp-builder-app-logo .custom-logo{max-width:162px;max-height:41px}.alp-builder-brand img{width:42px;height:42px}.alp-builder-welcome-image{margin:0 12px;border-radius:24px}.alp-builder-welcome-copy{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:4px 18px 20px}.alp-builder-welcome-copy h1{font-size:clamp(42px,13.2vw,62px);line-height:.94}.alp-builder-app-start{width:100%;min-height:58px}.alp-builder-app-content>.alp-builder,.alp-builder-app-content>.alp-builder-login{min-height:calc(100svh - 62px);margin:0;padding:14px 18px 120px;border-radius:0}.alp-builder-app-content>.alp-builder-login h2{font-size:clamp(34px,11vw,52px)}.alp-builder-app-content .alp-builder-progress{margin-bottom:8px}.alp-builder-app-content .alp-booking-form{padding:20px 18px 28px}.alp-builder-app-content .alp-builder-step>h3{font-size:clamp(36px,10.8vw,46px);line-height:1.03}.alp-builder-app-content .alp-builder-step>p{margin:12px auto 25px;font-size:18px;line-height:1.42}}
@media(max-width:760px){.alp-builder-app-content .alp-builder-total{left:10px;right:10px;width:auto;min-height:118px;padding:18px 16px 18px 20px;grid-template-columns:minmax(0,1fr) 104px}.alp-builder-app-content .alp-builder-total>strong{font-size:29px}.alp-builder-app-content .alp-builder-total>small{max-width:205px}.alp-builder-app-content .alp-next-in-total{min-width:104px;min-height:52px;margin-left:12px;border-radius:999px}}

/* Editorial service stage. */
.alp-builder-app-content>.alp-builder{background:#fbfbfa}
.alp-builder-app-content .alp-builder-progress{gap:18px;margin-right:calc(clamp(18px,4vw,56px)*-1);margin-left:calc(clamp(18px,4vw,56px)*-1);padding:20px clamp(18px,4vw,56px);border-bottom:1px solid #e8e8e6;background:rgba(255,255,255,.94)}
.alp-builder-app-content .alp-builder-progress li{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 24px;border:1px solid #ececea;border-radius:999px;background:#fff;color:#111;font-size:15px;font-weight:600;box-shadow:0 7px 20px rgba(0,0,0,.055)}
.alp-builder-app-content .alp-builder-progress li.active{border-color:#000;background:#000;color:#fff;box-shadow:none}
.alp-builder-app-content .alp-builder-progress li:nth-child(n+2):before{content:'';flex:0 0 22px;width:22px;height:22px;background:center/contain no-repeat}
.alp-builder-app-content .alp-builder-progress li:nth-child(2):before{background-image:url('../icons/stage-customize.svg')}
.alp-builder-app-content .alp-builder-progress li:nth-child(3):before{background-image:url('../icons/stage-event.svg')}
.alp-builder-app-content .alp-builder-progress li:nth-child(4):before{background-image:url('../icons/stage-contact.svg')}
.alp-builder-app-content .alp-builder-progress li:nth-child(5):before{background-image:url('../icons/stage-review.svg')}
.alp-builder-app-content .alp-builder-progress li.active:before{filter:invert(1)}
.alp-builder-app-content .alp-booking-form{max-width:930px;padding-top:52px;background:transparent}
.alp-builder-app-content .alp-builder-step[data-step="1"]{position:relative;isolation:isolate}
.alp-builder-app-content .alp-builder-step[data-step="1"]:before{content:'';position:absolute;z-index:-1;top:0;right:-310px;width:520px;height:620px;border:1px solid #e4e4e1;border-radius:50%;pointer-events:none}
.alp-builder-app-content .alp-builder-step>h3{max-width:700px;margin:0;color:#090909;text-align:left;font-size:clamp(54px,6.5vw,82px);font-weight:600;line-height:.96;letter-spacing:-.06em}
.alp-builder-app-content .alp-builder-step>h3:after{content:'';display:block;width:70px;height:2px;margin-top:35px;background:#cfa255}
.alp-builder-app-content .alp-builder-step>p{max-width:540px;margin:31px 0 48px;color:#6e6e73;text-align:left;font-size:clamp(20px,2.4vw,27px);line-height:1.42;letter-spacing:-.025em}
.alp-builder-app-content .alp-service-choices{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:28px;max-width:900px;margin:0 auto}
.alp-builder-app-content .alp-service-choice{display:grid;grid-template-columns:minmax(260px,46%) minmax(0,1fr);gap:34px;min-height:390px;padding:18px;border:1px solid #e9e9e7;border-radius:38px;background:#fff;box-shadow:0 20px 45px rgba(0,0,0,.09);transform:none}
.alp-builder-app-content .alp-service-choice .alp-choice-image{position:relative;width:100%;height:100%;min-height:350px;overflow:hidden;border-radius:26px;background:#eee}
.alp-builder-app-content .alp-service-choice .alp-choice-image img{width:100%;height:100%;object-fit:cover}
.alp-builder-app-content .alp-service-choice>span:last-child{display:flex;justify-content:center;gap:15px;padding:25px 28px 22px 0}
.alp-builder-app-content .alp-service-choice strong{font-size:34px;font-weight:650;line-height:1.08;letter-spacing:-.035em}
.alp-service-features{display:grid;gap:11px;margin:8px 0 10px;padding:0;list-style:none;font-size:18px;line-height:1.3}
.alp-service-features li{display:flex;align-items:flex-start;gap:11px}
.alp-service-features li:before{content:'✓';display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1.5px solid #cfa255;border-radius:50%;color:#b88737;font-size:15px;font-weight:800}
.alp-builder-app-content .alp-service-choice b{margin-top:auto;padding-top:23px;border-top:1px solid #ececea;font-size:31px;line-height:1.1}
.alp-builder-app-content .alp-service-choice:has(input:checked){border-color:#cfa255;box-shadow:0 0 0 2px #cfa255,0 20px 45px rgba(0,0,0,.1)}
.alp-builder-app-content .alp-service-choice:has(input:checked) .alp-choice-image:after{content:'✓';position:absolute;top:18px;right:18px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:#b88737;font-size:30px;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.13)}
.alp-builder-app-content .alp-builder-total{width:min(760px,calc(100vw - 48px));min-height:118px;border:1px solid #2e2e2e;border-radius:34px;background:linear-gradient(125deg,#060606,#171717);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.alp-builder-app-content .alp-next-in-total{min-width:150px;min-height:58px;border-radius:999px;background:#fff;color:#000;font-size:17px}
@media(max-width:760px){.alp-builder-app-content .alp-builder-progress{gap:8px;margin-right:-18px;margin-left:-18px;padding:16px 18px}.alp-builder-app-content .alp-builder-progress li{min-width:132px;min-height:54px;padding:0 18px;font-size:14px}.alp-builder-app-content .alp-booking-form{padding:30px 4px 28px}.alp-builder-app-content .alp-builder-step[data-step="1"]:before{display:none}.alp-builder-app-content .alp-builder-step>h3{font-size:clamp(43px,12.5vw,56px);line-height:.97}.alp-builder-app-content .alp-builder-step>h3:after{width:54px;margin-top:25px}.alp-builder-app-content .alp-builder-step>p{margin:23px 0 34px;font-size:20px;line-height:1.4}.alp-builder-app-content .alp-service-choices{gap:22px}.alp-builder-app-content .alp-service-choice{grid-template-columns:44% minmax(0,1fr);gap:16px;min-height:292px;padding:10px;border-radius:28px}.alp-builder-app-content .alp-service-choice .alp-choice-image{height:100%;min-height:272px;border-radius:20px}.alp-builder-app-content .alp-service-choice>span:last-child{gap:10px;padding:20px 10px 18px 0}.alp-builder-app-content .alp-service-choice strong{font-size:24px}.alp-service-features{gap:7px;margin:2px 0;font-size:14px}.alp-service-features li{gap:7px}.alp-service-features li:before{flex-basis:20px;width:20px;height:20px;font-size:12px}.alp-builder-app-content .alp-service-choice b{padding-top:15px;font-size:23px}.alp-builder-app-content .alp-service-choice:has(input:checked) .alp-choice-image:after{top:12px;right:12px;width:40px;height:40px;font-size:23px}.alp-builder-app-content .alp-builder-total{left:10px;right:10px;width:auto;min-height:118px;border-radius:28px;grid-template-columns:minmax(0,1fr) 104px}.alp-builder-app-content .alp-next-in-total{min-width:104px;min-height:52px;font-size:15px}}
