/* Pages builder ? full-screen modal + 4-step framework */

.builderModal{
    position:fixed;
    inset:0;
    z-index:1100;
    display:flex;
    flex-direction:column;
    background:#fff;
    color:#111827;
}

.builderModal[hidden]{
    display:none !important;
}

body.modalOpen .header{
    visibility:hidden;
    pointer-events:none;
}

.builderModalBar{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px 16px;
    padding:10px 16px;
    border-bottom:1px solid #e5e7eb;
    background:#fff;
    min-height:56px;
}

.builderModalBarStart{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    flex:1 1 auto;
}

.builderModalBarEnd{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex:0 0 auto;
    min-width:0;
}

.builderModalBarEnd .button,
.builderModalFooter .button{
    appearance:none;
    -webkit-appearance:none;
    border:0;
    border-style:none;
    box-shadow:none;
}

.builderModalBarEnd .button.secondary,
.builderModalFooter .button.secondary{
    border:1px solid #d9d9d9;
    border-style:solid;
}

.builderModalClose{
    appearance:none;
    -webkit-appearance:none;
    flex:0 0 auto;
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d1d5db;
    border-radius:10px;
    background:#fff;
    color:#111827;
    font-size:1.75rem;
    line-height:1;
    cursor:pointer;
    padding:0;
    outline:none;
    box-shadow:none;
}

.builderModalClose:hover,
.builderModalClose:focus-visible{
    color:#111827;
    background:#f3f4f6;
    border-color:#9ca3af;
    outline:none;
}

.builderModalTitles{
    min-width:0;
    max-width:100%;
}

.builderModalTitles h1{
    margin:0;
    font-size:1.1rem;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.builderModalLead{
    margin:2px 0 0;
    font-size:0.8rem;
    color:#6b7280;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:min(52vw, 420px);
}

.builderModalFooter{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    padding:12px 16px;
    border-top:1px solid #e5e7eb;
    background:#fff;
}

.builderModalFooter .button{
    min-width:7rem;
}

.builderStepper--tabs{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:0;
    margin:0;
    padding:0;
    border-radius:0;
    background:#fff;
    border-bottom:1px solid #e5e7eb;
}

.builderStepper--tabs .builderStepTab{
    border-radius:0;
    justify-content:center;
    padding:14px 10px;
    border-bottom:3px solid transparent;
    font-size:0.95rem;
}

.builderStepper--tabs .builderStepTab:hover{
    background:#f9fafb;
}

.builderStepper--tabs .builderStepTab.is-active{
    background:#fff;
    color:#111827;
    border-bottom-color:#5b4df8;
}

.builderStepper--tabs .builderStepTab.is-active .builderStepIndex{
    background:#5b4df8;
    color:#fff;
}

.builderStepHeadRow{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.builderTemplateChosen{
    margin:0;
    padding:8px 12px;
    border-radius:999px;
    background:#eef2ff;
    color:#3730a3;
    font-size:0.85rem;
    font-weight:700;
}

.builderTemplateSelectedBadge{
    position:absolute;
    top:10px;
    right:10px;
    z-index:2;
    padding:4px 8px;
    border-radius:999px;
    background:#5b4df8;
    color:#fff;
    font-size:0.7rem;
    font-weight:700;
}

.builderTemplateCard{
    position:relative;
}

.builderTemplatePreviewCopy{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:8px;
    height:100%;
    padding:14px;
    color:#fff;
}

.builderTemplatePreviewCopy strong{
    font-size:1rem;
    line-height:1.2;
    text-shadow:0 1px 2px rgba(0,0,0,.35);
}

.builderTemplatePreviewCta{
    align-self:flex-start;
    padding:6px 10px;
    border-radius:6px;
    background:rgba(255,255,255,.92);
    color:#111;
    font-size:0.75rem;
    font-weight:700;
}

.builderTemplateCard[data-color="light"] .builderTemplatePreviewCopy{
    color:#111;
}

.builderTemplateCard[data-color="light"] .builderTemplatePreviewCopy strong{
    text-shadow:none;
}

.builderTemplateCard[data-color="light"] .builderTemplatePreviewCta{
    background:#111;
    color:#fff;
}

.builderTemplateCard[data-font="serif"] .builderTemplatePreviewCopy strong{
    font-family:Georgia, "Times New Roman", serif;
}

.builderTemplateCard[data-font="display"] .builderTemplatePreviewCopy strong{
    font-family:"Segoe UI", system-ui, -apple-system, sans-serif;
    letter-spacing:0.02em;
}

.builderTemplateCard[data-image-pos="left"] .builderTemplateSwatch,
.builderTemplateCard[data-image-pos="right"] .builderTemplateSwatch{
    background-size:48% 100%, auto !important;
}

.builderTemplateCard[data-image-pos="none"] .builderTemplatePreviewCopy{
    background:linear-gradient(transparent, rgba(0,0,0,.55));
}

.builderTemplateName{
    display:block;
    padding:0 12px;
    font-size:0.95rem;
    color:#111827;
}

.builderTemplatePurpose{
    display:block;
    padding:0 12px 12px;
    font-size:0.8rem;
    color:#6b7280;
}

.builderTemplateCard.is-purpose-match:not(.is-selected){
    border-color:#c7d2fe;
}

@media (max-width:900px){
    .builderModalBar{
        flex-wrap:wrap;
    }
    .builderStepper--tabs{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .builderModalLead{
        white-space:normal;
    }
}

.builderStepper--bar{
    margin:0;
    justify-content:center;
}

.builderModalStatus{
    margin:0;
    font-size:0.85rem;
}

.builderModalBody{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding:20px 24px 32px;
}

.builderModal .builderDesignChrome{
    min-height:0;
}

.builderModal .builderDesignCanvas{
    min-height:0;
}

.builderModal .builderDesignChrome{
    min-height:0;
}

.builderDesignCanvas.is-wysiwyg,
.builderDesignCanvas.is-wysiwyg[data-bg],
.builderDesignCanvas.is-wysiwyg[data-skin],
.builderDesignCanvas.is-wysiwyg[data-theme]{
    /* Flat page surface — no gray matte / floating card chrome */
    background:transparent !important;
    color:inherit !important;
    min-height:0;
    padding:0;
}

.builderDesignCanvas.is-wysiwyg .builderDesignStage{
    display:block;
    width:100%;
}

.builderDesignCanvas.is-wysiwyg .pbPage{
    width:100%;
    max-width:none;
    margin:0;
    border-radius:0;
}

/* Editable nodes inherit page look (WYSIWYG with Template) */
.builderDesignCanvas.is-wysiwyg .pbPage .builderNode{
    border-color:transparent;
    background:transparent;
    box-shadow:none;
}
.builderDesignCanvas.is-wysiwyg .pbPage .builderNode.is-selected{
    outline:2px solid var(--builder-accent, #5b4df8);
    outline-offset:2px;
}
.builderDesignCanvas.is-wysiwyg .pbPage .builderNodeBody--container{
    border:none;
    background:transparent;
}
.builderDesignCanvas.is-wysiwyg .pbPage .builderNodeText.is-headline{
    font-size:clamp(1.6rem, 4vw, 2.6rem);
    font-weight:800;
    line-height:1.12;
}
.builderDesignCanvas.is-wysiwyg .pbPage .builderNodeButton{
    display:inline-block;
    margin-top:8px;
    padding:12px 20px;
    border-radius:8px;
    background:var(--builder-accent, #5b4df8);
    color:#fff;
}

@media (max-width:900px){
    .builderModalBar{
        flex-wrap:wrap;
    }
    .builderModalBarEnd{
        justify-content:flex-start;
    }
    .builderStepper--tabs{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

.builderStepper{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:0 0 22px;
    padding:4px;
    background:#f3f4f6;
    border-radius:12px;
}

.builderStepTab{
    appearance:none;
    border:0;
    background:transparent;
    color:#4b5563;
    font:inherit;
    font-weight:600;
    font-size:0.9rem;
    padding:10px 14px;
    border-radius:10px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.builderStepTab:hover{
    background:#e5e7eb;
    color:#111827;
}

.builderStepTab.is-active{
    background:#111827;
    color:#fff;
}

.builderStepTab.is-muted{
    opacity:0.55;
}

.builderStepIndex{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.35rem;
    height:1.35rem;
    border-radius:999px;
    font-size:0.75rem;
    background:rgba(0,0,0,.08);
}

.builderStepTab.is-active .builderStepIndex{
    background:rgba(255,255,255,.2);
}

.builderStepTitle{
    margin:0 0 6px;
    font-size:1.25rem;
}

.builderTemplateAxes{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin:18px 0 16px;
    padding:14px 16px;
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:12px;
}

.builderAxisThumb{
    appearance:none;
    width:52px;
    height:40px;
    padding:0;
    border:2px solid #e5e7eb;
    border-radius:8px;
    background:#fff;
    cursor:pointer;
    overflow:hidden;
    flex:0 0 auto;
}

.builderAxisThumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.builderAxisThumb:hover{
    border-color:#9ca3af;
}

.builderAxisThumb.is-active{
    border-color:#111827;
    box-shadow:0 0 0 1px #111827;
}

.builderAxisOptions--sample{
    align-items:center;
    flex-wrap:nowrap;
    overflow-x:auto;
    max-width:100%;
    padding-bottom:2px;
}

.builderThemeThumb{
    width:72px;
    height:52px;
}

.builderThemeBtn{
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    width:72px;
    padding:8px 6px 6px;
    border:2px solid #e5e7eb;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    flex:0 0 auto;
    color:#374151;
}

.builderThemeBtn:hover{
    border-color:#9ca3af;
}

.builderThemeBtn.is-active{
    border-color:#111827;
    box-shadow:0 0 0 1px #111827;
}

.builderThemeBtnLabel{
    font-size:0.68rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.builderThemeMark{
    display:block;
    width:52px;
    height:36px;
    border-radius:8px;
    position:relative;
    overflow:hidden;
}

.builderThemeMark--studio{
    background:linear-gradient(160deg, #faf9f7, #ecfdf5 55%, #0f766e);
    box-shadow:inset 0 0 0 1px #d6d3d1;
}

.builderThemeMark--offer{
    background:linear-gradient(145deg, #f8fafc, #e2e8f0 50%, #0f172a);
    box-shadow:inset 0 0 0 1px #cbd5e1;
}

.builderThemeMark--noir{
    background:linear-gradient(160deg, #020617, #1e293b 60%, #e2e8f0);
}

.builderThemeMark--sale{
    background:radial-gradient(circle at 50% 55%, #ffe4e6 0 62%, #fff1f2 63%);
}

.builderThemeMark--clean,
.builderThemeMark--soft{
    background:linear-gradient(160deg, #faf9f7, #ecfdf5 55%, #0f766e);
}

.builderThemeMark--bold,
.builderThemeMark--vivid{
    background:linear-gradient(145deg, #f8fafc, #e2e8f0 50%, #0f172a);
}

.builderThemeMarkTag{
    position:absolute;
    left:7px;
    top:7px;
    width:18px;
    height:22px;
    background:#ff6b4a;
    border-radius:3px 3px 4px 4px;
    transform:rotate(-12deg);
    box-shadow:0 2px 4px rgba(0,0,0,.18);
}

.builderThemeMarkTag::before{
    content:"";
    position:absolute;
    left:50%;
    top:3px;
    width:5px;
    height:5px;
    margin-left:-2.5px;
    border-radius:50%;
    background:#1e293b;
}

.builderThemeMarkTag::after{
    content:"";
    position:absolute;
    left:50%;
    top:10px;
    width:8px;
    height:8px;
    margin-left:-4px;
    background:#fff;
    clip-path:polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.builderThemeMarkCoupon{
    position:absolute;
    right:5px;
    top:8px;
    width:26px;
    height:18px;
    background:#1a2b3c;
    border-radius:3px;
    box-shadow:0 2px 4px rgba(0,0,0,.2);
}

.builderThemeMarkCoupon::before{
    content:"%";
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:10px;
    font-weight:800;
    line-height:18px;
    text-align:center;
}

.builderThemeMarkCoupon::after{
    content:"";
    position:absolute;
    left:7px;
    top:0;
    bottom:0;
    border-left:1px dashed rgba(255,255,255,.55);
}

.builderSampleMediaPicker{
    margin-top:4px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:10px;
    background:#fff;
}

.builderSamplePickerTitle{
    margin:0 0 8px;
    font-size:0.85rem;
    font-weight:600;
    color:#4b5563;
}

.builderSamplePickerRow{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    padding-bottom:4px;
}

.builderSamplePickerItem{
    appearance:none;
    border:2px solid #e5e7eb;
    border-radius:10px;
    padding:0;
    background:#fff;
    cursor:pointer;
    flex:0 0 auto;
    overflow:hidden;
}

.builderSamplePickerItem img{
    width:88px;
    height:66px;
    object-fit:cover;
    display:block;
}

.builderSamplePickerItem:hover{
    border-color:#9ca3af;
}

.builderSamplePickerItem.is-selected{
    border-color:#5b4df8;
    box-shadow:0 0 0 2px rgba(91,77,248,.28);
}

.builderDesignsPickerItem{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    min-width:140px;
    max-width:200px;
    padding:10px 12px;
    text-align:left;
}

.builderDesignsPickerItem strong{
    font-size:0.9rem;
    color:#111827;
}

.builderDesignsPickerItem span{
    font-size:0.75rem;
    color:#6b7280;
    word-break:break-all;
}

.builderAxisOptions--purpose{
    flex-wrap:wrap;
}

.builderTemplateCard.has-sample .builderTemplatePreviewCopy{
    color:#fff;
}

.builderTemplateCard.has-sample .builderTemplatePreviewCta{
    background:rgba(255,255,255,.92);
    color:#111;
}

@media (max-width:560px){
    .builderSampleImages{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

.builderAxisRow{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px 14px;
}

.builderAxisLabel{
    min-width:5.5rem;
    font-size:0.8rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#6b7280;
}

.builderAxisOptions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.builderAxisBtn{
    appearance:none;
    -webkit-appearance:none;
    border:1px solid #e5e7eb;
    background:#fff;
    color:#374151;
    font:inherit;
    font-size:0.875rem;
    font-weight:600;
    padding:8px 12px;
    border-radius:8px;
    cursor:pointer;
    outline:none;
    box-shadow:none;
}

.builderAxisBtn:hover{
    border-color:#9ca3af;
    color:#111827;
}

.builderAxisBtn.is-active{
    border-color:#111827;
    background:#111827;
    color:#fff;
    box-shadow:none;
}

/* Fixed image-position designer (ADDITIONAL to Theme marketplace) */
.builderAxisRow--imageDesigner{
    align-items:flex-start;
}

.builderAxisOptions--imageDesigner{
    gap:10px;
}

.builderImagePosBtn{
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    width:88px;
    padding:10px 8px 8px;
    border:2px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    color:#374151;
    cursor:pointer;
    outline:none;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.builderImagePosBtn:hover{
    border-color:#9ca3af;
}

.builderImagePosBtn.is-active{
    border-color:#111827;
    background:#f8fafc;
    box-shadow:0 0 0 1px #111827;
}

.builderImagePosFrame{
    display:grid;
    width:64px;
    height:48px;
    gap:4px;
    padding:5px;
    border-radius:6px;
    background:#f1f5f9;
    border:1px solid #cbd5e1;
    box-sizing:border-box;
}

.builderImagePosMedia{
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(145deg, #38bdf8, #0284c7);
    border-radius:3px;
    min-height:0;
    min-width:0;
}

.builderImagePosMediaIcon{
    width:10px;
    height:10px;
    border:2px solid rgba(255,255,255,.9);
    border-radius:2px;
    box-shadow:0 0 0 1px rgba(255,255,255,.35);
}

.builderImagePosCopy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:3px;
    padding:2px 3px;
    background:#fff;
    border-radius:3px;
    border:1px solid #e2e8f0;
    min-height:0;
    min-width:0;
}

.builderImagePosLine{
    display:block;
    height:3px;
    border-radius:2px;
    background:#cbd5e1;
}

.builderImagePosLine.is-short{ width:55%; }
.builderImagePosLine.is-cta{
    width:42%;
    height:5px;
    background:#94a3b8;
    margin-top:1px;
}

.builderImagePosBtn[data-value="top"] .builderImagePosFrame{
    grid-template-rows:1.15fr 0.85fr;
    grid-template-columns:1fr;
}

/* None = copy only, no media swatch */
.builderImagePosBtn[data-value="none"] .builderImagePosFrame{
    grid-template-columns:1fr;
    grid-template-rows:1fr;
}

.builderImagePosBtn[data-value="none"] .builderImagePosMedia{
    display:none;
}

.builderImagePosBtn[data-value="none"] .builderImagePosCopy{
    justify-content:center;
}

.builderImagePosBtn[data-value="left"] .builderImagePosFrame,
.builderImagePosBtn[data-value="right"] .builderImagePosFrame{
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr;
}

.builderImagePosBtn[data-value="left"] .builderImagePosMedia{ order:0; }
.builderImagePosBtn[data-value="left"] .builderImagePosCopy{ order:1; }
.builderImagePosBtn[data-value="right"] .builderImagePosCopy{ order:0; }
.builderImagePosBtn[data-value="right"] .builderImagePosMedia{ order:1; }

.builderImagePosCaption{
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#64748b;
}

.builderImagePosBtn.is-active .builderImagePosCaption{
    color:#0f172a;
}

/* Theme marketplace inside the same plate as Purpose / Color / Image / Sample */
.builderThemeMarket{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin:4px 0 0;
    padding-top:14px;
    border-top:1px solid #e5e7eb;
}

.builderThemeMarketHead{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.builderThemeMarketTitle{
    margin:0;
    font-size:0.8rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#6b7280;
}

.builderThemeMarketLead{
    margin:0;
    font-size:0.9rem;
    color:#4b5563;
}

.builderThemeMarketList{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.builderThemeRow{
    appearance:none;
    -webkit-appearance:none;
    display:grid;
    grid-template-columns:minmax(160px, 220px) minmax(0, 1fr) auto;
    gap:16px 20px;
    align-items:stretch;
    width:100%;
    margin:0;
    padding:14px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    text-align:left;
    cursor:pointer;
    color:inherit;
    font:inherit;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.builderThemeRow:hover{
    border-color:#9ca3af;
}

.builderThemeRow.is-selected{
    border-color:#111827;
    box-shadow:0 0 0 1px #111827;
}

.builderThemePreview{
    position:relative;
    min-height:120px;
    border-radius:8px;
    overflow:hidden;
    color:#fff;
}

.builderThemePreviewCopy{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:8px;
    padding:12px;
    background:linear-gradient(transparent 20%, rgba(0,0,0,.55));
}

.builderThemePreviewCopy strong{
    font-size:0.95rem;
    line-height:1.2;
}

.builderThemePreviewCopy span{
    align-self:flex-start;
    padding:5px 9px;
    border-radius:5px;
    background:rgba(255,255,255,.94);
    color:#111;
    font-size:0.72rem;
    font-weight:700;
}

.builderThemeBody{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:6px;
    padding-top:2px;
}

.builderThemeName{
    margin:0;
    font-size:1.05rem;
    font-weight:700;
    color:#111827;
    line-height:1.25;
}

.builderThemeMeta{
    margin:0;
    font-size:0.8rem;
    color:#6b7280;
}

.builderThemeBlurb{
    margin:2px 0 0;
    font-size:0.88rem;
    color:#374151;
    line-height:1.4;
}

.builderThemeFeatures{
    margin:6px 0 0;
    padding:0 0 0 1.1rem;
    color:#4b5563;
    font-size:0.82rem;
    line-height:1.45;
}

.builderThemeFeatures li{
    margin:0 0 2px;
}

.builderThemeAction{
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    padding-top:4px;
}

.builderThemeSelect{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:7.5rem;
    padding:9px 14px;
    border:1px solid #d1d5db;
    border-radius:8px;
    background:#fff;
    color:#111827;
    font-size:0.85rem;
    font-weight:700;
}

.builderThemeRow.is-selected .builderThemeSelect{
    background:#111827;
    border-color:#111827;
    color:#fff;
}

.builderThemeRow.is-experience .builderThemePreview{
    min-height:140px;
}

@media (max-width:720px){
    .builderThemeRow{
        grid-template-columns:1fr;
    }
    .builderThemeAction{
        justify-content:stretch;
    }
    .builderThemeSelect{
        width:100%;
    }
}

.builderEmpty{
    border:1px dashed #d1d5db;
    border-radius:12px;
    padding:20px 16px;
    color:#6b7280;
    background:#fff;
    margin:0 0 12px;
}

.builderTemplateGrid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:14px;
    margin-top:16px;
}

.builderTemplateGrid--generated{
    grid-template-columns:1fr;
    max-width:none;
}

.builderGeneratedTemplate{
    cursor:default;
    max-width:none;
    width:100%;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
    padding:0;
    gap:12px;
    overflow:visible;
}

.builderGeneratedTemplate.is-selected{
    border:0;
    box-shadow:none;
}

.builderGeneratedTemplateFrame{
    pointer-events:auto;
    height:auto;
    max-height:none;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    padding:0;
}

.builderWysiwygMount{
    width:100%;
}

.builderWysiwygMount .pbPage,
.builderGeneratedTemplateFrame .pbPage{
    max-width:none;
    width:100%;
    margin:0;
    border-radius:0;
}

.builderWysiwygMount [data-node-id].is-selected{
    outline:2px solid var(--builder-accent, #5b4df8);
    outline-offset:3px;
}

.pbDeparturesError{
    margin:0;
    padding:12px 14px;
    border-radius:8px;
    background:#fef2f2;
    color:#991b1b;
    border:1px solid #fecaca;
}

.pbConfigureTotal{
    width:100%;
    border-collapse:collapse;
    font-size:.95rem;
}
.pbConfigureTotal td{
    padding:6px 0;
}
.pbConfigureTotal td:last-child{
    text-align:right;
    font-weight:700;
}

.pbPayPanel{
    display:flex;
    flex-direction:column;
    gap:14px;
    max-width:28rem;
    padding:16px;
    border:1px solid rgba(15,23,42,.12);
    border-radius:12px;
    background:rgba(255,255,255,.72);
}
.pbPayTitle{
    margin:0;
    font-size:1.2rem;
}
.pbPaySummary{
    width:100%;
    border-collapse:collapse;
}
.pbPaySummary td{
    padding:6px 0;
}
.pbPaySummary td:last-child{
    text-align:right;
    font-weight:700;
}
.pbPayProvider{
    padding:14px;
    border-radius:10px;
    border:1px dashed rgba(15,23,42,.2);
    background:#fff;
}
.pbPayProviderName{
    margin:0 0 4px;
    font-weight:700;
}
.pbPayHint{
    margin:0;
    font-size:.9rem;
    color:#64748b;
}
.pbPayStripeMark{
    margin-top:10px;
    display:inline-block;
    padding:6px 10px;
    border-radius:6px;
    background:#635bff;
    color:#fff;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.04em;
}
.pbPayCta{
    align-self:flex-start;
    padding:.65rem 1.1rem;
    border:0;
    border-radius:6px;
    background:var(--builder-accent, #0f172a);
    color:#fff;
    font:inherit;
    cursor:pointer;
}

.builderGeneratedTemplateFrame .pbPage{
    font-size:inherit;
    line-height:inherit;
    max-width:none;
    margin:0;
    border-radius:0;
}

.builderTemplateCard{
    appearance:none;
    -webkit-appearance:none;
    border:2px solid #e5e7eb;
    border-radius:14px;
    padding:0 0 12px;
    background:#fff;
    cursor:pointer;
    text-align:left;
    display:flex;
    flex-direction:column;
    gap:8px;
    overflow:hidden;
    color:inherit;
    font:inherit;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.builderTemplateCard:hover{
    border-color:#9ca3af;
}

.builderTemplateCard.is-selected{
    border-color:#111827;
    box-shadow:0 0 0 1px #111827;
}

.builderTemplateCardPreview{
    position:relative;
    display:grid;
    height:132px;
    margin:0;
    overflow:hidden;
    background:#e2e8f0;
}

.builderTemplateCardMedia{
    min-width:0;
    min-height:0;
    background:inherit;
}

.builderTemplateCardCopy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    padding:8px;
    background:#fff;
    min-width:0;
    min-height:0;
}

.builderTemplateCardCopy strong{
    font-size:0.72rem;
    line-height:1.2;
    color:#0f172a;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.builderTemplateCardLine{
    display:block;
    height:3px;
    width:70%;
    border-radius:2px;
    background:#cbd5e1;
}

.builderTemplateCardCta{
    display:inline-block;
    margin-top:2px;
    padding:2px 6px;
    border-radius:4px;
    background:#0f172a;
    color:#fff;
    font-size:0.62rem;
    font-weight:700;
    width:max-content;
}

.builderTemplateCardPreview--top{
    grid-template-rows:1.1fr 0.9fr;
    grid-template-columns:1fr;
}

.builderTemplateCardPreview--left{
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr;
}

.builderTemplateCardPreview--right{
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr;
}

.builderTemplateCardPreview--right .builderTemplateCardCopy{ order:0; }
.builderTemplateCardPreview--right .builderTemplateCardMedia{ order:1; }

.builderTemplateCardPreview--full{
    grid-template-columns:1fr;
    grid-template-rows:1fr;
}

.builderTemplateCardPreview--full .builderTemplateCardMedia{
    grid-area:1 / 1;
}

.builderTemplateCardPreview--full .builderTemplateCardCopy{
    grid-area:1 / 1;
    z-index:1;
    align-self:end;
    background:linear-gradient(180deg, transparent, rgba(15,23,42,.6));
    color:#fff;
}

.builderTemplateCardPreview--full .builderTemplateCardCopy strong{
    color:#fff;
}

.builderTemplateCardPreview--full .builderTemplateCardLine{
    background:rgba(255,255,255,.85);
}

.builderTemplateCardPreview--full .builderTemplateCardCta{
    background:#fff;
    color:#0f172a;
}

.builderTemplateCardPreview.is-theme-bold .builderTemplateCardCta{
    background:#f59e0b;
    color:#111;
}

.builderTemplateCardPreview.is-theme-sale .builderTemplateCardCta{
    background:#ff6b4a;
}

.builderTemplateCardPreview.is-theme-soft{
    filter:saturate(0.9) brightness(1.05);
}

.builderTemplateCardPreview.is-theme-noir .builderTemplateCardCopy{
    background:#0f172a;
    color:#e2e8f0;
}

.builderTemplateCardPreview.is-theme-noir .builderTemplateCardCopy strong{
    color:#f8fafc;
}

.builderTemplateCardPreview.is-theme-vivid .builderTemplateCardCta{
    background:#a855f7;
}

.builderTemplateCardPreview.is-color-light{
    filter:brightness(1.08);
}

.builderTemplateCardPreview.is-color-brand .builderTemplateCardCta{
    box-shadow:inset 0 0 0 2px #5b4df8;
}

.builderTemplateCardMeta{
    padding:0 12px;
}

.builderTemplateCardName{
    margin:0;
    font-size:0.9rem;
    color:#111827;
}

.builderTemplateCardTag{
    margin:2px 0 0;
    font-size:0.78rem;
    color:#6b7280;
}

.builderTemplateSwatch{
    /* Skin gradients paint the card preview surface */
    min-height:100%;
    background:#111;
}

.builderTemplateCardPreview.builderTemplateSwatch--summit,
.builderTemplateCardMedia.builderTemplateSwatch--summit{
    background:
        linear-gradient(160deg, rgba(0,0,0,.25), rgba(40,20,80,.85)),
        linear-gradient(135deg, #3b1d7a, #7c3aed);
}

.builderTemplateSwatch--summit{
    background:
        linear-gradient(160deg, rgba(0,0,0,.25), rgba(40,20,80,.85)),
        linear-gradient(135deg, #3b1d7a, #7c3aed);
}

.builderTemplateSwatch--fitness{
    background:
        linear-gradient(90deg, #0a0a0a 42%, transparent 42%),
        linear-gradient(160deg, #111, #1a2e1a),
        #22c55e;
}

.builderTemplateSwatch--forge{
    background:
        linear-gradient(160deg, rgba(0,0,0,.55), rgba(80,0,0,.4)),
        linear-gradient(135deg, #1f1f1f, #7f1d1d);
}

.builderTemplateSwatch--adventure{
    background:
        linear-gradient(160deg, rgba(0,0,0,.35), rgba(0,40,60,.5)),
        linear-gradient(135deg, #0c4a6e, #ea580c);
}

.builderTemplateSwatch--profile{
    background:
        linear-gradient(90deg, #111 48%, transparent 48%),
        linear-gradient(160deg, #1c1917, #a16207);
}

.builderTemplateSwatch--coach{
    background:
        radial-gradient(circle at 70% 40%, #f9a8d4 0%, transparent 55%),
        linear-gradient(160deg, #831843, #db2777);
}

.builderTemplateSwatch--garden{
    background:
        linear-gradient(160deg, #fef3c7, #bbf7d0 55%, #166534);
}

.builderTemplateSwatch--street{
    background:
        linear-gradient(90deg, #0a0a0a 55%, transparent 55%),
        linear-gradient(135deg, #111, #eab308);
}

.builderTemplateSwatch--checkout{
    background:linear-gradient(160deg, #0f172a, #1e3a8a 55%, #22c55e);
}

.builderTemplateSwatch--blackday{
    background:linear-gradient(180deg, #111 0%, #000 70%);
    border-top:4px solid #facc15;
}

.builderTemplateSwatch--sunburst{
    background:linear-gradient(160deg, #7c3aed, #fb923c 55%, #111);
}

.builderTemplateSwatch--minimal{
    background:linear-gradient(160deg, #1e1b4b, #312e81 40%, #e0e7ff);
}

.builderTemplateSwatch--realtor{
    background:
        linear-gradient(90deg, #111827 46%, transparent 46%),
        linear-gradient(160deg, #78350f, #f59e0b);
}

.builderTemplateSwatch--products{
    background:linear-gradient(135deg, #111827, #4c1d95 60%, #a78bfa);
}

.builderTemplateSwatch--shape30{
    background:linear-gradient(160deg, #0a0a0a, #1f2937 40%, #eab308);
}

.builderTemplateSwatch--yoga{
    background:linear-gradient(160deg, #ecfdf5, #a7f3d0 50%, #065f46);
}

.builderTemplateSwatch--conference{
    background:linear-gradient(135deg, #1e3a8a, #312e81, #7c3aed);
}

.builderTemplateSwatch--newsletter{
    background:linear-gradient(160deg, #fff7ed, #fdba74 45%, #9a3412);
}

.builderTemplateSwatch--booking{
    background:linear-gradient(160deg, #eff6ff, #93c5fd 40%, #1d4ed8);
}

.builderTemplateSwatch--experience{
    background:
        linear-gradient(160deg, rgba(15,23,42,.28), rgba(15,23,42,.62)),
        linear-gradient(135deg, #ecfdf5, #99f6e4 35%, #0f766e 70%, #134e4a);
}

.builderTemplateCard.is-experience{
    border-color:#99f6e4;
}

.builderTemplatePreviewPrice{
    display:block;
    margin:0.2rem 0 0;
    font-size:0.78rem;
    font-style:normal;
    font-weight:600;
    color:rgba(255,255,255,.92);
}

.builderTemplatePreviewMeta{
    display:block;
    margin:0.15rem 0 0.35rem;
    font-size:0.72rem;
    color:rgba(255,255,255,.78);
}

.builderTemplateSwatch--drop{
    background:linear-gradient(135deg, #111, #be123c 50%, #fb7185);
}

.builderFieldsChrome{
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:0;
    min-height:420px;
    margin-top:8px;
    border:1px solid #e5e7eb;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
}

.builderFieldsSide{
    background:#f9fafb;
    border-right:1px solid #e5e7eb;
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:8px;
    overflow:auto;
    max-height:calc(100vh - 180px);
}

.builderFieldsSide .builderStepTitle{
    margin:0;
    font-size:1.05rem;
}

.builderEventSelectLabel{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:0.85rem;
    font-weight:600;
    color:#374151;
}

.builderEventSelectLabel select{
    font:inherit;
    font-weight:500;
    padding:8px 10px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    background:#fff;
}

.builderEventFields{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.builderEventFieldChip{
    appearance:none;
    border:1px solid #e5e7eb;
    border-radius:10px;
    background:#fff;
    padding:8px 10px;
    text-align:left;
    cursor:grab;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.builderEventFieldChip:active{
    cursor:grabbing;
}

.builderEventFieldChip:hover{
    border-color:#5b4df8;
}

.builderEventFieldChip strong{
    font-size:0.8rem;
    color:#111827;
}

.builderEventFieldChip span{
    font-size:0.75rem;
    color:#6b7280;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.builderFieldsBindings{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.builderBindingRow{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    font-size:0.8rem;
    padding:6px 8px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:8px;
}

.builderBindingRow code{
    font-size:0.72rem;
    color:#4338ca;
}

.builderFieldsCanvasWrap{
    min-width:0;
    background:#111;
}

.builderFieldsCanvas{
    min-height:420px;
    height:100%;
}

.builderNodeBind{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:0.65rem;
    font-weight:600;
    color:#4338ca;
    background:#eef2ff;
    padding:2px 4px 2px 6px;
    border-radius:999px;
    max-width:11rem;
    white-space:nowrap;
}

.builderNodeBindLabel{
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0;
}

.builderModal .builderNodeBindClear{
    appearance:none;
    -webkit-appearance:none;
    flex:0 0 auto;
    width:auto;
    height:auto;
    min-width:0;
    display:inline;
    border:none !important;
    outline:none;
    border-radius:0;
    background:none !important;
    background-color:transparent !important;
    box-shadow:none !important;
    color:#dc2626;
    font:inherit;
    font-size:0.95rem;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    padding:0 2px;
    margin:0;
}

.builderModal .builderNodeBindClear:hover,
.builderModal .builderNodeBindClear:focus-visible{
    background:none !important;
    border:none !important;
    color:#b91c1c;
    outline:none;
}

.builderNode.is-field-drop{
    outline:2px solid #5b4df8;
    outline-offset:2px;
}

@media (max-width:900px){
    .builderFieldsChrome{
        grid-template-columns:1fr;
    }
    .builderFieldsSide{
        max-height:none;
        border-right:0;
        border-bottom:1px solid #e5e7eb;
    }
}

.builderCraft{
    display:flex;
    flex-direction:column;
    min-height:0;
    margin:0 -24px -32px;
    background:#f3f4f6;
}

.builderCraftToolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 16px;
    background:#e0f2f1;
    border-bottom:1px solid #b2dfdb;
}

.builderCraftToolbarStart{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.builderCraftEnable{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:0.9rem;
    font-weight:600;
    color:#134e4a;
    cursor:pointer;
    user-select:none;
}

.builderCraftEnable input{
    appearance:none;
    -webkit-appearance:none;
    width:40px;
    height:22px;
    border-radius:999px;
    background:#94a3b8;
    border:0;
    position:relative;
    cursor:pointer;
    transition:background .15s;
}

.builderCraftEnable input::after{
    content:"";
    position:absolute;
    top:2px;
    left:2px;
    width:18px;
    height:18px;
    border-radius:999px;
    background:#fff;
    transition:transform .15s;
    box-shadow:0 1px 2px rgba(0,0,0,.2);
}

.builderCraftEnable input:checked{
    background:#3f51b5;
}

.builderCraftEnable input:checked::after{
    transform:translateX(18px);
}

.builderCraftGhostBtn{
    appearance:none;
    -webkit-appearance:none;
    border:1px solid #cfd8dc;
    background:#eceff1;
    color:#546e7a;
    font:inherit;
    font-size:0.75rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    padding:8px 12px;
    border-radius:4px;
    cursor:pointer;
    box-shadow:none;
}

.builderCraftGhostBtn:hover:not(:disabled){
    background:#e0e5e8;
    color:#37474f;
}

.builderCraftGhostBtn:disabled{
    opacity:0.55;
    cursor:default;
}

.builderCraftIconBtn{
    appearance:none;
    -webkit-appearance:none;
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #cfd8dc;
    background:#eceff1;
    color:#546e7a;
    padding:0;
    border-radius:4px;
    cursor:pointer;
    box-shadow:none;
}

.builderCraftIconBtn svg{
    display:block;
}

.builderCraftIconBtn:hover:not(:disabled){
    background:#e0e5e8;
    color:#37474f;
}

.builderCraftIconBtn:disabled{
    opacity:0.45;
    cursor:default;
}

.builderCraftIconBtn:focus-visible{
    outline:2px solid #3f51b5;
    outline-offset:1px;
}

.builderDesignChrome{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:0;
    flex:1;
    min-height:0;
    margin:0;
    border:0;
    border-radius:0;
    overflow:hidden;
    background:#eceff1;
}

.builderModal .builderDesignChrome{
    min-height:0;
    border:0;
}

.builderDesignRail{
    display:flex;
    flex-direction:column;
    min-height:0;
    background:#fff;
    border-left:1px solid #e0e0e0;
    overflow:auto;
}

.builderDesignPalette{
    padding:18px 16px 16px;
    display:flex;
    flex-direction:column;
    gap:12px;
    border-bottom:1px solid #eee;
}

.builderDesignPalette .builderPaletteLabel{
    margin:0 0 4px;
    font-size:0.8rem;
    font-weight:500;
    text-align:center;
    text-transform:none;
    letter-spacing:0;
    color:#757575;
}

/* Palette chips ? quiet (Webflow / Craft sidebar) */
.builderPaletteItem{
    appearance:none;
    -webkit-appearance:none;
    border:1px solid #c5cae9 !important;
    border-radius:6px;
    outline:none;
    box-shadow:none !important;
    padding:10px 12px;
    background:#e8eaf6;
    font:inherit;
    font-size:0.8rem;
    font-weight:600;
    letter-spacing:.02em;
    text-transform:none;
    color:#1a237e;
    text-align:center;
    cursor:grab;
}

.builderPaletteItem:hover,
.builderPaletteItem:focus-visible{
    background:#c5cae9;
    color:#0d47a1;
    border-color:#9fa8da !important;
    outline:none;
    box-shadow:none !important;
}

.builderPaletteItem:active{
    cursor:grabbing;
    background:#9fa8da;
}

.builderDesignCanvasWrap{
    background:#eceff1;
    padding:16px 24px 24px;
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:0;
}

.builderGridChrome,
.builderGridChromeActions,
.builderPageGridActions{
    display:none !important;
}

.builderPageGridForm{
    gap:10px;
}

.builderPageGridSummary{
    margin:0 0 4px;
    font-size:0.85rem;
    font-weight:600;
    color:#546e7a;
}

.builderPageGridStepper{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.builderPageGridStepperLabel{
    font-size:0.9rem;
    font-weight:600;
    color:#212121;
}

.builderPageGridStepperControls{
    display:inline-flex;
    align-items:center;
    gap:0;
    border:1px solid #cfd8dc;
    border-radius:6px;
    overflow:hidden;
    background:#fff;
}

.builderPageGridStepBtn{
    appearance:none;
    -webkit-appearance:none;
    width:32px;
    height:32px;
    margin:0;
    padding:0;
    border:0;
    background:#f5f5f5;
    color:#37474f;
    font:inherit;
    font-size:1rem;
    font-weight:600;
    line-height:1;
    cursor:pointer;
}

.builderPageGridStepBtn:hover:not(:disabled),
.builderPageGridStepBtn:focus-visible:not(:disabled){
    background:#e8eaf6;
    color:#1a237e;
    outline:none;
}

.builderPageGridStepBtn:disabled{
    opacity:0.4;
    cursor:default;
}

.builderPageGridStepValue{
    min-width:2rem;
    text-align:center;
    font-size:0.9rem;
    font-weight:700;
    color:#212121;
    border-left:1px solid #cfd8dc;
    border-right:1px solid #cfd8dc;
    line-height:32px;
}

.builderPlaceholder{
    margin:auto;
    max-width:22rem;
    padding:1.25rem 1.5rem;
    border-radius:10px;
    background:rgba(255,255,255,.92);
    color:#37474f;
    line-height:1.5;
    text-align:center;
    box-shadow:0 1px 3px rgba(0,0,0,.08);
}

.builderDesignCanvas:not([data-sample="1"]) .builderPlaceholder{
    background:#fff;
}

.builderDesignCanvas.is-page-selected{
    outline:2px solid #3f51b5;
    outline-offset:0;
}

.builderDesignStage.is-page-grid-active .builderNode--grid-row{
    position:relative;
    outline:1px dashed rgba(63,81,181,.55);
    outline-offset:2px;
}

.builderDesignStage.is-page-grid-active .builderNode--grid-row::before{
    content:attr(data-grid-label);
    position:absolute;
    top:4px;
    left:4px;
    z-index:3;
    font-size:0.65rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#3f51b5;
    background:rgba(255,255,255,.92);
    padding:2px 6px;
    border-radius:3px;
    pointer-events:none;
}

.builderDesignStage.is-page-grid-active .builderNode--grid-cell{
    position:relative;
    outline:1px solid rgba(63,81,181,.35);
    outline-offset:1px;
    min-height:48px;
    padding-top:28px;
}

.builderDesignStage.is-page-grid-active .builderNode--grid-cell::before{
    content:attr(data-grid-label);
    position:absolute;
    top:4px;
    left:4px;
    z-index:3;
    font-size:0.65rem;
    font-weight:600;
    color:#546e7a;
    background:rgba(255,255,255,.92);
    padding:2px 6px;
    border-radius:3px;
    pointer-events:none;
}

.builderGridCellClear{
    appearance:none;
    -webkit-appearance:none;
    position:absolute;
    top:2px;
    right:2px;
    z-index:4;
    width:auto;
    height:auto;
    min-width:0;
    margin:0;
    padding:0 2px;
    border:none;
    border-radius:0;
    background:none;
    background-color:transparent;
    box-shadow:none;
    color:#dc2626;
    font:inherit;
    font-size:1.15rem;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.builderGridCellClear:hover,
.builderGridCellClear:focus-visible{
    background:none;
    border:none;
    color:#b91c1c;
    outline:none;
}

.builderDesignCanvas{
    flex:1;
    min-height:360px;
    border-radius:2px;
    padding:24px;
    background:#fff;
    color:#111;
    border:1px solid #e0e0e0;
    box-shadow:0 1px 3px rgba(0,0,0,.08);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    overflow:auto;
}

.builderDesignCanvas:has(#builderDesignHint:not([hidden])){
    justify-content:center;
    align-items:center;
}

.builderDesignCanvas.is-disabled{
    pointer-events:none;
    opacity:0.72;
}

.builderDesignSide{
    padding:16px;
    display:flex;
    flex-direction:column;
    gap:14px;
    background:#fff;
}

.builderSelectedHead{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.builderSelectedHead .builderPaletteLabel{
    margin:0;
    text-transform:none;
    letter-spacing:0;
    font-size:0.9rem;
    color:#424242;
}

.builderSelectedBadge{
    display:inline-flex;
    align-items:center;
    padding:4px 10px;
    border-radius:999px;
    background:#3f51b5;
    color:#fff;
    font-size:0.75rem;
    font-weight:700;
}

.builderSelectedHead .builderCraftDelete{
    margin-left:auto;
}

.builderCraftDelete{
    appearance:none;
    -webkit-appearance:none;
    width:auto;
    height:auto;
    min-width:0;
    display:inline;
    border:none !important;
    border-radius:0;
    background:none !important;
    background-color:transparent !important;
    box-shadow:none !important;
    color:#dc2626;
    font:inherit;
    font-size:1.35rem;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    padding:0;
    margin:0;
    text-transform:none;
    letter-spacing:0;
}

.builderCraftDelete:hover,
.builderCraftDelete:focus-visible{
    background:none !important;
    border:none !important;
    color:#b91c1c;
    outline:none;
}

.builderSelectedForm input[type="range"]{
    width:100%;
    accent-color:#3f51b5;
}

.builderDesignSide label{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:0.9rem;
    color:#374151;
}

.builderPaletteHint{
    display:none;
}

.builderDesignCanvas[data-bg="dark"],
.builderDesignCanvas[data-skin]{
    color:#fff;
}

.builderDesignCanvas[data-bg="light"]{
    background:#f8fafc;
    color:#111;
}

.builderDesignCanvas[data-bg="brand"]{
    background:color-mix(in srgb, var(--builder-accent, #5b4df8) 28%, #111);
    color:#fff;
}

.builderNode{
    border:1px solid transparent;
    border-radius:4px;
    padding:4px;
    position:relative;
}

.builderNode.is-selected{
    border-color:#2680eb;
    box-shadow:0 0 0 1px #2680eb;
}

.builderNodeChrome{
    display:flex;
    align-items:center;
    margin-bottom:4px;
    gap:8px;
}

.builderNodeBody--container{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-height:48px;
    padding:10px;
    border:1px dashed rgba(0,0,0,.12);
    border-radius:4px;
}

.builderDesignCanvas[data-bg="dark"] .builderNodeBody--container,
.builderDesignCanvas[data-skin] .builderNodeBody--container{
    border-color:rgba(255,255,255,.22);
}

.builderDesignCanvas[data-bg="light"] .builderNodeBody--container{
    border-color:rgba(0,0,0,.15);
}

.builderDesignCanvas[data-font="serif"]{
    font-family:Georgia, "Times New Roman", serif;
}

.builderDesignCanvas[data-font="display"]{
    font-family:"Segoe UI", system-ui, -apple-system, sans-serif;
}

.builderDesignCanvas[data-density="compact"] .builderNodeBody--container{
    gap:8px;
}

.builderDesignCanvas[data-density="airy"] .builderNodeBody--container{
    gap:28px;
}

.builderDesignStage{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:100%;
}

.builderNodeType{
    font-size:0.65rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    opacity:0.55;
}

.builderNodeBody--container[data-direction="row"]{
    flex-direction:row;
    align-items:stretch;
}

.builderNodeBody--container[data-direction="row"] > .builderNode{
    flex:1;
    min-width:0;
}

.builderNodeEmpty{
    margin:0;
    opacity:0.55;
    font-size:0.85rem;
}

.builderNodeText{
    margin:0;
    line-height:1.45;
}

.builderNodeText.is-headline{
    font-size:clamp(1.5rem, 3vw, 2.4rem);
    font-weight:800;
    line-height:1.15;
}

.builderNodeButton{
    display:inline-block;
    padding:10px 18px;
    border-radius:8px;
    background:var(--builder-accent, #5b4df8);
    color:#fff;
    font-weight:700;
}

.builderNodeImage{
    display:block;
    width:100%;
    max-height:220px;
    object-fit:cover;
    border-radius:8px;
}

.builderNodeImagePh{
    min-height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:rgba(255,255,255,.08);
    opacity:0.8;
    font-size:0.85rem;
}

.builderSideSection{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding-bottom:14px;
    border-bottom:1px solid #e5e7eb;
}

.builderSideSection:last-child{
    border-bottom:0;
    padding-bottom:0;
}

.builderSideEmpty{
    margin:0;
    font-size:0.85rem;
    color:#6b7280;
}

.builderSelectedForm{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.builderSelectedForm input,
.builderSelectedForm textarea,
.builderSelectedForm select{
    width:100%;
    padding:8px 10px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    background:#fff;
    font:inherit;
}

.builderModal .builderDesignChrome{
    margin-top:0;
    min-height:0;
    border:0;
    border-radius:0;
}

.builderForm{
    margin-top:16px;
    max-width:40rem;
}

@media (max-width:960px){
    .builderDesignChrome{
        grid-template-columns:1fr;
    }
    .builderDesignRail{
        border-left:0;
        border-top:1px solid #e5e7eb;
    }
}

/* Public offer render (builder tree) — flat page, not a raised card */
.pbPage{
    padding:28px 20px 36px;
    border-radius:0;
    background:#111;
    color:#fff;
    border-top:0;
    box-shadow:none;
}
.pbPage[data-color="light"]{
    background:#f8fafc;
    color:#111;
}
.pbPage[data-color="brand"]{
    background:color-mix(in srgb, var(--builder-accent, #0f766e) 14%, #f8fafc);
    color:#0f172a;
}
.pbPage[data-theme="noir"][data-color="brand"]{
    background:color-mix(in srgb, var(--builder-accent, #e2e8f0) 14%, #0a0a0a);
    color:#f8fafc;
}
.pbPage[data-font="serif"]{ font-family:Georgia, "Times New Roman", serif; }
.pbPage[data-font="display"]{
    font-family:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
    font-weight:800;
}
.pbPage[data-font="sans"]{
    font-family:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
}
.pbNode-container{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.pbNode-container.pbDir-row{
    flex-direction:row;
    align-items:stretch;
    gap:20px;
}
.pbNode-container.pbDir-row > *{ flex:1; min-width:0; }
.pbPage[data-density="compact"] .pbNode-container{ gap:8px; }
.pbPage[data-density="airy"] .pbNode-container{ gap:28px; }

/* —— Widget series Purpose: Soft vs Hard = tone only (Theme owns palette) —— */
.pbPage[data-series="soft"]{
    border-radius:16px;
    padding:28px 24px;
    box-shadow:none;
    border:1px solid rgba(15,23,42,.08);
}
.pbPage[data-series="soft"] .pbSeriesSoftKicker{
    margin:0 0 4px;
    font-size:0.8rem;
    font-weight:500;
    letter-spacing:0.14em;
    text-transform:uppercase;
    opacity:0.55;
    color:inherit;
}
.pbPage[data-series="soft"] .pbText-headline{
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
    font-size:clamp(1.7rem, 3.8vw, 2.5rem);
}
.pbPage[data-series="soft"] .pbButton,
.pbPage[data-series="soft"] .pbBookingCta,
.pbPage[data-series="soft"] .pbLeadCta,
.pbPage[data-series="soft"] .pbPayCta,
.pbPage[data-series="soft"] .composeDesignCta{
    border-radius:999px;
    font-weight:600;
    letter-spacing:0.02em;
    text-transform:none;
    padding:12px 22px;
    background:var(--builder-accent, #0f766e);
    color:#fff;
    border:0;
    box-shadow:none;
}
.pbPage[data-series="soft"] .pbImage,
.pbPage[data-series="soft"] .pbImagePh{
    border-radius:16px;
}
.pbPage[data-series="soft"] .pbBookingCard,
.pbPage[data-series="soft"] .pbPayPanel{
    border-radius:16px;
    border:1px solid rgba(15,23,42,.1);
}
/* Departures panel uses one outer frame — booking card border is reset below. */

.pbPage[data-series="hard"]{
    border-radius:8px;
    padding:0;
    border:1px solid rgba(15,23,42,.16);
    box-shadow:none;
}
.pbPage[data-series="hard"] .pbSeriesHardStrip{
    margin:0;
    padding:10px 16px;
    background:#111;
    color:#fff;
    font-size:0.75rem;
    font-weight:700;
    letter-spacing:0.1em;
    text-transform:uppercase;
    opacity:1;
}
.pbPage[data-series="hard"] .pbText-headline{
    font-weight:800;
    letter-spacing:-0.02em;
    text-transform:none;
    font-size:clamp(1.6rem, 3.6vw, 2.35rem);
}
.pbPage[data-series="hard"] .pbButton,
.pbPage[data-series="hard"] .pbBookingCta,
.pbPage[data-series="hard"] .pbLeadCta,
.pbPage[data-series="hard"] .pbPayCta,
.pbPage[data-series="hard"] .composeDesignCta{
    border-radius:8px;
    font-weight:700;
    letter-spacing:0.03em;
    text-transform:none;
    padding:14px 18px;
    background:var(--builder-accent, #0f172a);
    color:#fff;
    border:0;
    box-shadow:none;
}
.pbPage[data-series="hard"] .pbImage,
.pbPage[data-series="hard"] .pbImagePh{
    border-radius:8px;
    border:0;
}
.pbPage[data-series="hard"] .pbBookingCard,
.pbPage[data-series="hard"] .pbPayPanel,
.pbPage[data-series="hard"] .pbDepartures{
    border-radius:0;
    border:1px solid rgba(15,23,42,.16);
}
/* Departures: keep outer frame only; .pbBookingCard border cleared in experience block. */
.pbPage[data-series="hard"] .pbNode-container{
    gap:12px;
    padding:16px;
}
.pbText{ margin:0; line-height:1.45; opacity:0.92; }
.pbText-headline{
    font-size:clamp(1.6rem, 4vw, 2.6rem);
    font-weight:800;
    line-height:1.12;
    opacity:1;
}
.pbButton{
    display:inline-block;
    margin-top:8px;
    padding:12px 20px;
    border-radius:8px;
    background:var(--builder-accent, #5b4df8);
    color:#fff !important;
    font-weight:700;
    text-decoration:none;
}
.pbImage{
    display:block;
    width:100%;
    max-height:280px;
    object-fit:cover;
    border-radius:10px;
}
.pbImagePh{
    min-height:140px;
    border-radius:10px;
    background:rgba(255,255,255,.08);
}
.pbPage[data-color="light"] .pbImagePh{ background:rgba(0,0,0,.06); }

.builderDesignCanvas[data-bg="dark"]{
    background:#111;
    color:#fff;
}

.builderDesignCanvas[data-bg="light"]{
    background:#f8fafc;
    color:#111;
}

.builderDesignCanvas[data-bg="brand"]{
    background:color-mix(in srgb, var(--builder-accent, #5b4df8) 28%, #111);
    color:#fff;
}

/* Match template card skins on the Design canvas */
.builderDesignCanvas[data-skin="summit"]{
    background:
        linear-gradient(160deg, rgba(0,0,0,.25), rgba(40,20,80,.85)),
        linear-gradient(135deg, #3b1d7a, #7c3aed);
    color:#fff;
}
.builderDesignCanvas[data-skin="fitness"]{
    background:
        linear-gradient(90deg, #0a0a0a 42%, transparent 42%),
        linear-gradient(160deg, #111, #1a2e1a),
        #22c55e;
    color:#fff;
}
.builderDesignCanvas[data-skin="forge"]{
    background:
        linear-gradient(160deg, rgba(0,0,0,.55), rgba(80,0,0,.4)),
        linear-gradient(135deg, #1f1f1f, #7f1d1d);
    color:#fff;
}
.builderDesignCanvas[data-skin="adventure"]{
    background:
        linear-gradient(160deg, rgba(0,0,0,.35), rgba(0,40,60,.5)),
        linear-gradient(135deg, #0c4a6e, #ea580c);
    color:#fff;
}
.builderDesignCanvas[data-skin="profile"]{
    background:
        linear-gradient(90deg, #111 48%, transparent 48%),
        linear-gradient(160deg, #1c1917, #a16207);
    color:#fff;
}
.builderDesignCanvas[data-skin="coach"]{
    background:
        radial-gradient(circle at 70% 40%, #f9a8d4 0%, transparent 55%),
        linear-gradient(160deg, #831843, #db2777);
    color:#fff;
}
.builderDesignCanvas[data-skin="garden"]{
    background:linear-gradient(160deg, #fef3c7, #bbf7d0 55%, #166534);
    color:#052e16;
}
.builderDesignCanvas[data-skin="street"]{
    background:
        linear-gradient(90deg, #0a0a0a 55%, transparent 55%),
        linear-gradient(135deg, #111, #eab308);
    color:#fff;
}
.builderDesignCanvas[data-skin="checkout"]{
    background:linear-gradient(160deg, #0f172a, #1e3a8a 55%, #22c55e);
    color:#fff;
}
.builderDesignCanvas[data-skin="blackday"]{
    background:linear-gradient(180deg, #111 0%, #000 70%);
    border-top:4px solid #facc15;
    color:#fff;
}
.builderDesignCanvas[data-skin="sunburst"]{
    background:linear-gradient(160deg, #7c3aed, #fb923c 55%, #111);
    color:#fff;
}
.builderDesignCanvas[data-skin="minimal"]{
    background:linear-gradient(160deg, #1e1b4b, #312e81 40%, #e0e7ff);
    color:#fff;
}
.builderDesignCanvas[data-skin="realtor"]{
    background:
        linear-gradient(90deg, #111827 46%, transparent 46%),
        linear-gradient(160deg, #78350f, #f59e0b);
    color:#fff;
}
.builderDesignCanvas[data-skin="products"]{
    background:linear-gradient(135deg, #111827, #4c1d95 60%, #a78bfa);
    color:#fff;
}
.builderDesignCanvas[data-skin="shape30"]{
    background:linear-gradient(160deg, #0a0a0a, #1f2937 40%, #eab308);
    color:#fff;
}
.builderDesignCanvas[data-skin="yoga"]{
    background:linear-gradient(160deg, #ecfdf5, #a7f3d0 50%, #065f46);
    color:#052e16;
}
.builderDesignCanvas[data-skin="conference"]{
    background:linear-gradient(135deg, #1e3a8a, #312e81, #7c3aed);
    color:#fff;
}
.builderDesignCanvas[data-skin="newsletter"]{
    background:linear-gradient(160deg, #fff7ed, #fdba74 45%, #9a3412);
    color:#1c1917;
}
.builderDesignCanvas[data-skin="booking"]{
    background:linear-gradient(160deg, #eff6ff, #93c5fd 40%, #1d4ed8);
    color:#0f172a;
}
.builderDesignCanvas[data-skin="experience"],
.builderDesignCanvas[data-skin="experience"][data-bg="dark"],
.builderDesignCanvas[data-skin="experience"][data-bg="light"],
.builderDesignCanvas[data-skin="experience"][data-bg="brand"]{
    background:#f8fafc;
    color:#0f172a;
}
.builderDesignCanvas[data-skin="experience"] .builderNodeText.is-headline{
    color:#0f172a;
    text-shadow:none;
    font-family:Georgia, "Times New Roman", serif;
}
.builderDesignCanvas[data-skin="experience"] .builderNodeButton{
    background:#0f766e;
    color:#fff;
}
.builderDesignCanvas[data-skin="drop"]{
    background:linear-gradient(135deg, #111, #be123c 50%, #fb7185);
    color:#fff;
}

/* Visual Theme plates — Theme owns accent + type + chrome; Color owns surface */
.builderDesignCanvas[data-theme="studio"],
.builderDesignCanvas[data-theme="clean"],
.builderDesignCanvas[data-theme="soft"]{
    --builder-accent:#0f766e;
}
.builderDesignCanvas[data-theme="studio"] .builderNodeButton,
.builderDesignCanvas[data-theme="clean"] .builderNodeButton,
.builderDesignCanvas[data-theme="soft"] .builderNodeButton{
    background:#0f766e;
    color:#fff;
    border-radius:999px;
}
.builderDesignCanvas[data-theme="studio"] .builderNodeText.is-headline,
.builderDesignCanvas[data-theme="clean"] .builderNodeText.is-headline,
.builderDesignCanvas[data-theme="soft"] .builderNodeText.is-headline{
    font-family:Georgia, "Times New Roman", serif;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
}

.builderDesignCanvas[data-theme="offer"],
.builderDesignCanvas[data-theme="bold"],
.builderDesignCanvas[data-theme="vivid"]{
    --builder-accent:#0f172a;
}
.builderDesignCanvas[data-theme="offer"] .builderNodeText.is-headline,
.builderDesignCanvas[data-theme="bold"] .builderNodeText.is-headline,
.builderDesignCanvas[data-theme="vivid"] .builderNodeText.is-headline{
    font-family:"Segoe UI", system-ui, sans-serif;
    font-weight:800;
    letter-spacing:-0.02em;
    text-transform:none;
}
.builderDesignCanvas[data-theme="offer"] .builderNodeButton,
.builderDesignCanvas[data-theme="bold"] .builderNodeButton,
.builderDesignCanvas[data-theme="vivid"] .builderNodeButton{
    background:#0f172a;
    color:#fff;
    border-radius:8px;
    font-weight:700;
}

.builderDesignCanvas[data-theme="sale"]{
    --builder-accent:#e11d48;
}
.builderDesignCanvas[data-theme="sale"] .builderNodeText.is-headline{
    font-family:"Segoe UI", system-ui, sans-serif;
    font-weight:800;
    color:#9f1239;
    text-transform:none;
}
.builderDesignCanvas[data-theme="sale"] .builderNodeButton{
    background:#e11d48;
    color:#fff;
    border-radius:8px;
}
.builderDesignCanvas[data-theme="sale"] .builderNodeText.is-eyebrow::before{
    content:"% ";
    color:#e11d48;
    font-weight:800;
}

.builderDesignCanvas[data-theme="noir"]{
    --builder-accent:#e2e8f0;
    background:#0a0a0a !important;
    color:#e2e8f0;
}
.builderDesignCanvas[data-theme="noir"] .builderNodeText.is-headline{
    color:#f8fafc;
    letter-spacing:-0.02em;
    text-transform:none;
    font-weight:700;
}
.builderDesignCanvas[data-theme="noir"] .builderNodeButton{
    background:#f8fafc;
    color:#0a0a0a;
    border:0;
    border-radius:8px;
}

.pbPage[data-theme="studio"],
.pbPage[data-theme="clean"],
.pbPage[data-theme="soft"]{
    --builder-accent:#0f766e;
}
.pbPage[data-theme="offer"],
.pbPage[data-theme="bold"],
.pbPage[data-theme="vivid"]{
    --builder-accent:#0f172a;
}
.pbPage[data-theme="sale"]{
    --builder-accent:#e11d48;
}
.pbPage[data-theme="noir"]{
    --builder-accent:#e2e8f0;
}

.pbPage[data-theme="studio"] .pbButton,
.pbPage[data-theme="studio"] .pbNode-button,
.pbPage[data-theme="studio"] .pbBookingCta,
.pbPage[data-theme="clean"] .pbButton,
.pbPage[data-theme="clean"] .pbBookingCta,
.pbPage[data-theme="soft"] .pbButton,
.pbPage[data-theme="soft"] .pbBookingCta,
.builderDesignCanvas.is-wysiwyg .pbPage[data-theme="studio"] .builderNodeButton{
    background:var(--builder-accent, #0f766e);
    color:#fff;
    border-radius:999px;
}
.pbPage[data-theme="offer"] .pbButton,
.pbPage[data-theme="offer"] .pbNode-button,
.pbPage[data-theme="offer"] .pbBookingCta,
.pbPage[data-theme="bold"] .pbButton,
.pbPage[data-theme="bold"] .pbBookingCta,
.pbPage[data-theme="vivid"] .pbButton,
.pbPage[data-theme="vivid"] .pbBookingCta,
.builderDesignCanvas.is-wysiwyg .pbPage[data-theme="offer"] .builderNodeButton{
    background:var(--builder-accent, #0f172a);
    color:#fff;
    border-radius:8px;
}
.pbPage[data-theme="sale"] .pbButton,
.pbPage[data-theme="sale"] .pbNode-button,
.pbPage[data-theme="sale"] .pbBookingCta,
.builderDesignCanvas.is-wysiwyg .pbPage[data-theme="sale"] .builderNodeButton{
    background:#e11d48;
    color:#fff;
    border-radius:8px;
}
.pbPage[data-theme="noir"] .pbButton,
.pbPage[data-theme="noir"] .pbNode-button,
.pbPage[data-theme="noir"] .pbBookingCta,
.builderDesignCanvas.is-wysiwyg .pbPage[data-theme="noir"] .builderNodeButton{
    background:#f8fafc;
    color:#0a0a0a;
    border:0;
    border-radius:8px;
}

/* Hero: image + copy share top edge (Experiences-style) */
.pbPage[data-image-pos="left"] .pbNode-container.pbDir-row,
.pbPage[data-image-pos="right"] .pbNode-container.pbDir-row{
    align-items:flex-start;
    gap:24px;
}
.pbPage[data-image-pos="left"] .pbNode-container.pbDir-row > .pbImage,
.pbPage[data-image-pos="left"] .pbNode-container.pbDir-row > .pbImagePh,
.pbPage[data-image-pos="right"] .pbNode-container.pbDir-row > .pbImage,
.pbPage[data-image-pos="right"] .pbNode-container.pbDir-row > .pbImagePh{
    align-self:flex-start;
}
.pbPage[data-image-pos="left"] .pbNode-container.pbDir-row > .pbNode-container,
.pbPage[data-image-pos="right"] .pbNode-container.pbDir-row > .pbNode-container{
    padding-top:0;
}

/* Sample plate (legacy) ? image nodes stay visible for left/right/experience */
.builderDesignCanvas[data-sample="1"]{
    color:#fff;
}
.builderDesignCanvas[data-sample="1"][data-image-pos="top"] .builderNode--image{
    display:none;
}

/* Image position — hero composition */
.builderDesignCanvas[data-image-pos="top"] .builderDesignStage{
    justify-content:flex-end;
    min-height:min(52vh, 420px);
}
.builderDesignCanvas[data-image-pos="left"] .builderDesignStage > .builderNode--container > .builderNodeBody--container[data-direction="row"],
.builderDesignCanvas[data-image-pos="right"] .builderDesignStage > .builderNode--container > .builderNodeBody--container[data-direction="row"]{
    min-height:280px;
    align-items:stretch;
}

/* Color axis ? same as Template cards */
.builderDesignCanvas[data-color="light"]:not([data-sample="1"]){
    filter:brightness(1.35) saturate(0.85);
}
.builderDesignCanvas[data-color="light"]{
    color:#111;
}
.builderDesignCanvas[data-color="light"] .builderNodeText.is-headline{
    text-shadow:none;
}
.builderDesignCanvas[data-color="light"] .builderNodeButton{
    background:#111;
    color:#fff;
}
.builderDesignCanvas[data-color="brand"]{
    box-shadow:inset 0 -8px 0 var(--builder-accent, #5b4df8);
}

.builderNodeText.is-headline{
    font-size:clamp(1.35rem, 2.6vw, 2.1rem);
    font-weight:800;
    line-height:1.15;
    text-shadow:0 1px 2px rgba(0,0,0,.28);
}
.builderDesignCanvas[data-font="serif"] .builderNodeText.is-headline{
    font-family:Georgia, "Times New Roman", serif;
}
.builderDesignCanvas[data-font="display"] .builderNodeText.is-headline{
    font-family:"Segoe UI", system-ui, -apple-system, sans-serif;
    letter-spacing:0.02em;
}

/* CTA pill like Template preview */
.builderNodeButton{
    display:inline-block;
    padding:10px 16px;
    border-radius:6px;
    background:rgba(255,255,255,.92);
    color:#111;
    font-weight:700;
    border:none;
}
.builderDesignCanvas[data-color="light"] .builderNodeButton{
    background:#111;
    color:#fff;
}

/* Design step: page look, not dashed editor boxes */
.builderDesignCanvas[data-step="design"] .builderNodeBody--container{
    border-color:transparent;
    padding:4px 0;
    min-height:0;
}
.builderDesignCanvas[data-step="design"] .builderNodeEmpty{
    display:none;
}
.builderDesignCanvas[data-step="fields"] .builderNodeBody--container{
    border-color:rgba(255,255,255,.22);
}
.builderDesignCanvas[data-step="fields"][data-color="light"] .builderNodeBody--container,
.builderDesignCanvas[data-skin="garden"][data-step="fields"] .builderNodeBody--container,
.builderDesignCanvas[data-skin="yoga"][data-step="fields"] .builderNodeBody--container,
.builderDesignCanvas[data-skin="newsletter"][data-step="fields"] .builderNodeBody--container,
.builderDesignCanvas[data-skin="booking"][data-step="fields"] .builderNodeBody--container{
    border-color:rgba(0,0,0,.12);
}

.pbSkin-summit{ background:linear-gradient(160deg, #3b1d7a, #7c3aed); }
.pbSkin-fitness{ background:linear-gradient(160deg, #0a0a0a, #14532d); }
.pbSkin-forge{ background:linear-gradient(160deg, #1f1f1f, #7f1d1d); }
.pbSkin-adventure{ background:linear-gradient(160deg, #0c4a6e, #ea580c); }
.pbSkin-coach{ background:linear-gradient(160deg, #831843, #db2777); }
.pbSkin-garden{ background:linear-gradient(160deg, #14532d, #86efac); color:#052e16; }
.pbSkin-street, .pbSkin-drop{ background:linear-gradient(135deg, #111, #ca8a04); }
.pbSkin-yoga{ background:linear-gradient(160deg, #ecfdf5, #065f46); color:#052e16; }
.pbSkin-booking{ background:linear-gradient(160deg, #dbeafe, #1d4ed8); }
.pbSkin-experience{
    border-top-color:#0f766e;
}
.pbSkin-blackday{ background:#000; border-top-color:#facc15; }
.pbSkin-sunburst{ background:linear-gradient(160deg, #7c3aed, #fb923c); }
.pbSkin-minimal{ background:linear-gradient(160deg, #1e1b4b, #e0e7ff); }
.pbSkin-checkout{ background:linear-gradient(160deg, #0f172a, #1e3a8a); }
.pbSkin-newsletter{ background:linear-gradient(160deg, #fff7ed, #9a3412); color:#1c1917; }
.pbSkin-conference{ background:linear-gradient(135deg, #1e3a8a, #7c3aed); }
.pbSkin-products{ background:linear-gradient(135deg, #111827, #4c1d95); }
.pbSkin-shape30{ background:linear-gradient(160deg, #0a0a0a, #eab308); }
.pbSkin-realtor{ background:linear-gradient(160deg, #111827, #a16207); }
.pbSkin-profile{ background:linear-gradient(160deg, #1c1917, #a16207); }

/* Color axis = page surface (after skins/themes so Dark/Light/Brand actually show) */
.pbPage[data-color="dark"]{
    background:#0f172a;
    color:#f8fafc;
}
.pbPage[data-color="light"]{
    background:#f8fafc;
    color:#0f172a;
}
.pbPage[data-color="brand"]{
    background:color-mix(in srgb, var(--builder-accent, #0f766e) 14%, #f8fafc);
    color:#0f172a;
}
.pbPage[data-theme="noir"][data-color="brand"]{
    background:color-mix(in srgb, var(--builder-accent, #e2e8f0) 14%, #0a0a0a);
    color:#f8fafc;
}
/* Designs package owns look — no Theme/Color plate */
.pbPage[data-theme="none"]{
    --builder-accent:#0f172a;
}
.pbPage[data-color="none"]{
    background:#fff;
    color:#0f172a;
}
.builderDesignCanvas[data-color="none"],
.builderDesignCanvas[data-bg="none"]{
    background:#f1f5f9;
    color:#0f172a;
}
.pbPage.pbSkin-experience[data-color="light"]{
    background:#fff;
    color:#0f172a;
}
.pbPage[data-color="dark"] .pbPayPanel,
.pbPage[data-color="brand"] .pbPayPanel{
    background:rgba(15, 23, 42, .35);
    border-color:rgba(255, 255, 255, .18);
    color:inherit;
}
.pbPage[data-color="dark"] .pbPayHint,
.pbPage[data-color="brand"] .pbPayHint{
    color:rgba(248, 250, 252, .72);
}

/* Experience Landing — departures + booking card (GetYourGuide / Airbnb Experiences) */
.pbDepartures,
.builderDeparturesPreview .pbDepartures{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(260px,0.85fr);
    gap:0;
    align-items:stretch;
    width:100%;
    margin:16px 0 0;
    border:1px solid rgba(15, 23, 42, .14);
    border-radius:12px;
    overflow:hidden;
    background:transparent;
    box-sizing:border-box;
}

.pbPage[data-color="dark"] .pbDepartures,
.pbPage[data-color="brand"] .pbDepartures,
.builderDeparturesPreview .pbPage[data-color="dark"] .pbDepartures,
.builderDeparturesPreview .pbPage[data-color="brand"] .pbDepartures{
    border-color:rgba(255, 255, 255, .28);
}

.pbDeparturesMain{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-width:0;
    padding:20px;
    border-right:1px solid rgba(15, 23, 42, .14);
    box-sizing:border-box;
}

.pbPage[data-color="dark"] .pbDeparturesMain,
.pbPage[data-color="brand"] .pbDeparturesMain{
    border-right-color:rgba(255, 255, 255, .22);
}

.pbDeparturesTitle{
    margin:0;
    font-size:1.15rem;
    line-height:1.3;
    font-weight:700;
}

.pbDepartureList{
    display:flex;
    flex-direction:column;
    gap:10px;
    flex:1 1 auto;
    min-height:0;
}

.pbDeparture{
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    width:100%;
    text-align:left;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#fff;
    color:#0f172a;
    padding:14px 16px;
    cursor:pointer;
    font:inherit;
    box-sizing:border-box;
}

.pbDeparture:hover:not(:disabled),
.pbDeparture.is-selected{
    border-color:#0f766e;
    box-shadow:0 0 0 1px #0f766e;
}

.pbDeparture.is-sold-out,
.pbDeparture:disabled{
    opacity:0.55;
    cursor:default;
}

.pbDepartureDate{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.pbDepartureDate span,
.pbDeparturePlaces{
    color:#64748b;
    font-size:0.9rem;
}

.pbDepartureInfo{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
}

.pbBookingCard{
    display:flex;
    flex-direction:column;
    gap:0;
    min-width:0;
    height:100%;
    margin:0;
    padding:20px;
    border:0;
    border-radius:0;
    background:#fff;
    color:#0f172a;
    box-shadow:none;
    position:static;
    box-sizing:border-box;
}

.pbBookingPrice{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin:0 0 14px;
}

.pbBookingPrice span{
    color:#64748b;
}

.pbBookingPrice strong{
    font-size:1.5rem;
    color:#0f172a;
}

.pbBookingSelected,
.pbBookingGuests{
    margin:0 0 12px;
}

.pbBookingSelected span,
.pbBookingGuests label{
    display:block;
    font-size:0.85rem;
    font-weight:600;
    color:#475569;
    margin-bottom:6px;
}

.pbBookingSelected [data-booking-selected]{
    color:#0f172a;
    min-height:1.35em;
}

.pbBookingGuests select,
.pbBookingGuestsSelect{
    display:block;
    width:100%;
    font:inherit;
    padding:10px 12px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#fff;
    color:#0f172a;
    box-sizing:border-box;
}

.pbBookingStatus{
    margin:0 0 12px;
    color:#64748b;
    font-size:0.9rem;
}

.pbBookingTotal{
    width:100%;
    margin:0 0 14px;
    border-collapse:collapse;
}

.pbBookingTotal td{
    padding:8px 0;
    border-top:1px solid #e2e8f0;
    color:#0f172a;
}

.pbBookingTotal td:last-child{
    text-align:right;
    font-weight:700;
}

.pbBookingCta{
    appearance:none;
    -webkit-appearance:none;
    display:block;
    width:100%;
    margin-top:auto;
    border:0;
    border-radius:12px;
    background:#0f766e;
    color:#fff;
    font:inherit;
    font-weight:700;
    padding:14px 16px;
    cursor:pointer;
    box-sizing:border-box;
}

.pbBookingCta:disabled{
    opacity:0.45;
    cursor:default;
}

/* Soft | Hard: one outer frame, shared divider — no nested card border */
.pbPage[data-series="soft"] .pbDepartures{
    border-radius:16px;
    border:1px solid rgba(15, 23, 42, .1);
}
.pbPage[data-series="soft"] .pbDeparturesMain{
    border-right:1px solid rgba(15, 23, 42, .1);
}
.pbPage[data-series="soft"] .pbBookingCard{
    border:0;
    border-radius:0;
    box-shadow:none;
}

.pbPage[data-series="hard"] .pbDepartures{
    border-radius:8px;
    border:1px solid rgba(15, 23, 42, .16);
    box-shadow:none;
}
.pbPage[data-series="hard"] .pbDeparturesMain{
    border-right:1px solid rgba(15, 23, 42, .16);
}
.pbPage[data-series="hard"] .pbBookingCard{
    border:0;
    border-radius:0;
    box-shadow:none;
    padding:20px;
}
.pbPage[data-series="hard"] .pbDeparture{
    border-radius:8px;
}
.pbPage[data-series="hard"] .pbBookingCta,
.pbPage[data-series="hard"] .composeDesignCta.pbBookingCta{
    width:100%;
    max-width:100%;
    margin-right:0;
    margin-bottom:0;
    box-sizing:border-box;
}

.builderDeparturesPreview{
    pointer-events:none;
    width:100%;
}

.pbPage.pbSkin-experience .pbText-headline{
    font-size:clamp(1.6rem, 3vw, 2.4rem);
    line-height:1.15;
}

/* Purpose: lead form + configure */
.pbLeadForm,
.builderLeadFormPreview .pbLeadForm{
    display:flex;
    flex-direction:column;
    gap:12px;
    max-width:28rem;
}
.pbLeadField{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:.9rem;
}
.pbLeadField input{
    padding:.55rem .7rem;
    border:1px solid rgba(15,23,42,.18);
    border-radius:6px;
    font:inherit;
}
.pbLeadStatus{
    margin:0;
    min-height:1.2em;
    font-size:.85rem;
    color:#b91c1c;
}
.pbLeadCta{
    align-self:flex-start;
    padding:.65rem 1.1rem;
    border:0;
    border-radius:6px;
    background:var(--builder-accent, #0f172a);
    color:#fff;
    font:inherit;
    cursor:pointer;
}
.pbConfigure,
.builderConfigurePreview .pbConfigure{
    display:flex;
    flex-direction:column;
    gap:12px;
    max-width:36rem;
}
.pbConfigureTitle{
    margin:0;
    font-size:1.25rem;
}
.pbConfigureList{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.pbConfigureOption{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:.75rem 1rem;
    border:1px solid rgba(15,23,42,.15);
    border-radius:8px;
    background:#fff;
    text-align:left;
    font:inherit;
    cursor:pointer;
}
.pbConfigureOption.is-selected{
    border-color:var(--builder-accent, #0f172a);
    box-shadow:inset 0 0 0 1px var(--builder-accent, #0f172a);
}
.pbConfigureDelta{
    color:#64748b;
    font-size:.9rem;
}
.pbConfigureStatus{
    margin:0;
    font-size:.9rem;
    color:#64748b;
}
.pbConfigureCta{
    align-self:flex-start;
    padding:.65rem 1.1rem;
    border:0;
    border-radius:6px;
    background:var(--builder-accent, #0f172a);
    color:#fff;
    font:inherit;
    cursor:pointer;
}
.pbConfigureCta:disabled{
    opacity:.45;
    cursor:not-allowed;
}

@media (max-width:860px){
    .pbDepartures,
    .builderDeparturesPreview .pbDepartures{
        grid-template-columns:1fr;
    }
    .pbDeparturesMain{
        border-right:0;
        border-bottom:1px solid rgba(15, 23, 42, .14);
    }
    .pbPage[data-color="dark"] .pbDeparturesMain,
    .pbPage[data-color="brand"] .pbDeparturesMain{
        border-bottom-color:rgba(255, 255, 255, .22);
    }
    .pbPage[data-series="hard"] .pbDeparturesMain{
        border-right:0;
        border-bottom:1px solid rgba(15, 23, 42, .16);
    }
    .pbBookingCard{
        position:static;
        height:auto;
    }

    /* Theme imagePos left/right: stack on phone (Shopify/Airbnb pattern — image full width, then copy). */
    .pbPage[data-image-pos="left"] .pbNode-container.pbDir-row,
    .pbPage[data-image-pos="right"] .pbNode-container.pbDir-row{
        flex-direction:column;
        align-items:stretch;
        gap:16px;
    }
    .pbPage[data-image-pos="left"] .pbNode-container.pbDir-row > *,
    .pbPage[data-image-pos="right"] .pbNode-container.pbDir-row > *{
        flex:none;
        width:100%;
        max-width:100%;
    }
    /* Right layout: keep image above copy on narrow screens. */
    .pbPage[data-image-pos="right"] .pbNode-container.pbDir-row > *:first-child{
        order:2;
    }
    .pbPage[data-image-pos="right"] .pbNode-container.pbDir-row > *:last-child{
        order:1;
    }
    .pbImage,
    .pbImagePh{
        max-height:min(42vh, 320px);
        width:100%;
    }
    .pbPage[data-series="soft"],
    .pbPage[data-series="hard"]{
        padding:18px 14px;
    }
    .pbPage[data-series="soft"] .pbText-headline,
    .pbText-headline{
        font-size:clamp(1.35rem, 6vw, 1.85rem);
    }
}
