/* Direct copy of the Thermo Planner visual system for the temporary Thermo page block. */
.thermoPlannerDirectCopy{
  --bg:#ffffff;
  --text:#0b0b0f;
  --muted:#6b6b75;
  --card:#f5f5f7;
  --line:rgba(0,0,0,.10);
  --shadow:0 14px 34px rgba(0,0,0,.10);
  --radius:28px;
  --accent:#0b0b0f;
  --accentText:#ffffff;
  --thermoPlannerBackdropImage:url("../img/optimized/thermoplaner_1-960.webp");
  --plannerSuccessGlass:#67ef9d;
  --plannerSuccessGlassGlow:0 0 10px rgba(255,255,255,.18), 0 0 18px rgba(255,255,255,.10);
  --plannerSuccessGlassBorder:rgba(103,239,157,.36);
  --plannerSuccessGlassFill:rgba(103,239,157,.14);
  --plannerSuccessGlassDeep:#32cf74;
  --plannerSuccessGlassReadable:#38db7e;
  --plannerSuccessGlassReadableShadow:0 1px 0 rgba(6,18,10,.42), 0 4px 12px rgba(8,10,14,.40), 0 0 1px rgba(8,10,14,.64);
  --headerH:62px;
  --appVh:100dvh;
  --thermoFlowGap:clamp(40px, 4.4vw, 54px);
  --thermoFlowGapHalf:calc(var(--thermoFlowGap) / 2);
  --sectionSpace:clamp(60px, 6vw, 84px);
  --sectionSpaceCompact:clamp(24px, 3vw, 38px);
  --surfaceRadius:30px;
  --surfaceShadowSoft:0 14px 32px rgba(15,19,32,.06);
  --layout-max-width:clamp(1240px, 88vw, 1720px);
  --layout-padding-x:clamp(22px, 3.4vw, 64px);
  --layout-content-width:var(--layout-max-width);
  --page-padding-x:var(--layout-padding-x);
  --content-max-width:var(--layout-content-width);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.thermoPlannerDirectCopy .section{
  padding:var(--sectionSpace) 0;
}
.thermoPlannerDirectCopy .thermoPlannerBackdropShell{
  color:#fff;
}

.thermoPlannerBackdropShell .plannerViewControls{
  display:none !important;
}

.thermoPlannerBackdropShell .thermoSwitchSection,
.thermoPlannerBackdropShell .thermoSwitchPanel--spacer{
  display:none !important;
}

@keyframes heroGalleryMarquee{
      from{transform:translate3d(0,0,0)}
      to{transform:translate3d(-50%,0,0)}
    }

.bookingPromptModal{
      position:fixed;
      inset:0;
      z-index:120;
      padding:28px;
      background:rgba(18,14,12,.10);
      backdrop-filter:saturate(125%) blur(24px);
      -webkit-backdrop-filter:saturate(125%) blur(24px);
      opacity:0;
      transition:opacity .22s ease;
    }

.bookingPromptModal[hidden]{display:none}

.bookingPromptModal.is-open{opacity:1}

.bookingPromptBackdrop{
      position:absolute;
      inset:0;
    }

.bookingPromptDialog{
      position:absolute;
      left:var(--booking-prompt-left, 50vw);
      top:50vh;
      width:min(100%, 420px);
      padding:0;
      border-radius:0;
      background:transparent;
      border:none;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      transform:translate(-50%, calc(-50% + 14px)) scale(.985);
      transition:transform .26s cubic-bezier(.22,.8,.24,1);
      text-align:center;
      display:grid;
      justify-items:center;
      gap:18px;
    }

.bookingPromptModal.is-open .bookingPromptDialog{
      transform:translate(-50%, -50%) scale(1);
    }

.bookingPromptTitle{
      margin:0;
      font-size:24px;
      line-height:1.12;
      letter-spacing:-.03em;
      color:#fff;
      text-shadow:0 12px 28px rgba(0,0,0,.26);
      max-width:14ch;
    }

.bookingPromptActions{
      display:flex;
      justify-content:center;
      margin-top:0;
    }

#bookingPromptActionBtn{
      position:relative;
      min-width:160px;
      min-height:40px;
      padding:0 16px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.18);
      color:#fff;
      text-shadow:none;
      box-shadow:0 12px 28px rgba(8,10,14,.12), inset 0 1px 0 rgba(255,255,255,.16);
      backdrop-filter:saturate(170%) blur(16px);
      -webkit-backdrop-filter:saturate(170%) blur(16px);
    }

#bookingPromptActionBtn::before{
      content:none;
    }

#bookingPromptActionBtn:hover{
      color:#fff;
      background:rgba(255,255,255,.18);
      border-color:rgba(255,255,255,.18);
    }

#bookingPromptActionBtn:active{
      transform:translateY(1px);
    }

.thermoHighlightsHeader--floating .thermoHighlightsTitle,
    .thermoSwitchTitle.thermoHighlightsTitle{
      max-width:none;
      font-size:clamp(34px, 4vw, 60px);
      line-height:.96;
      letter-spacing:-.055em;
      font-weight:780;
      white-space:normal;
      text-wrap:balance;
      overflow-wrap:anywhere;
    }

.thermoPlanner{
      display:grid;
      grid-template-columns:minmax(0, 1.35fr) minmax(300px, 0.65fr);
      gap:22px;
      min-height:min(84vh, 900px);
      align-items:stretch;
    }

.plannerPane{
      border:1px solid rgba(17,18,24,.06);
      border-radius:32px;
      background:rgba(255,255,255,.96);
      padding:28px;
      box-shadow:var(--surfaceShadowSoft);
      display:flex;
      flex-direction:column;
      min-width:0;
      min-height:0;
      overflow-x:hidden;
    }

.plannerPane--zones{
      border:none;
      border-radius:0;
      background:transparent;
      padding:0;
      box-shadow:none;
      min-width:0;
      overflow:visible;
      position:relative;
    }

.plannerPane--zones .plannerFigureWrap{
      margin-top:0;
      width:var(--planner-interactive-width, 100%);
      max-width:none;
      margin-left:var(--planner-interactive-shift, 0px);
      margin-right:0;
    }

.plannerTitle{
      margin:0;
      font-size:34px;
      line-height:1.03;
      letter-spacing:-.038em;
      font-weight:760;
      color:#111218;
    }

.plannerSub{
      margin:8px 0 0;
      color:rgba(17,18,24,.58);
      font-size:14px;
      line-height:1.45;
    }

.plannerFigureWrap{
      margin-top:16px;
      flex:1;
      min-height:0;
      min-width:0;
      display:flex;
      flex-direction:column;
      align-items:stretch;
      position:relative;
    }

.plannerFigure{
      position:relative;
      display:flex;
      align-items:flex-start;
      justify-content:flex-start;
      height:min(86vh, 920px);
      padding:0 4px;
      border:none;
      background:transparent;
      overflow-x:hidden;
      overflow-y:visible;
      touch-action:pan-y;
      cursor:grab;
      scrollbar-width:none;
      -ms-overflow-style:none;
      z-index:5;
    }

.plannerFigure.is-loading{
      cursor:progress;
    }

.plannerFigureLoadingOverlay{
      position:absolute;
      inset:0;
      z-index:14;
      display:flex;
      align-items:center;
      justify-content:center;
      opacity:0;
      pointer-events:none;
      transition:opacity .18s ease;
    }

.plannerFigureLoadingOverlay::before{
      content:none;
    }

.plannerFigure.is-loading .plannerFigureLoadingOverlay{
      opacity:1;
      pointer-events:auto;
    }

.plannerLoaderAsset{
      position:relative;
      z-index:1;
      display:block;
      width:44px;
      height:44px;
      object-fit:contain;
      opacity:.94;
      filter:drop-shadow(0 10px 24px rgba(8,10,14,.18));
      transform:translateZ(0);
    }

@media (max-width:640px){
.plannerLoaderAsset{
        width:36px;
        height:36px;
      }
}

.plannerFigure,
    .plannerFigure *{
      -webkit-user-select:none;
      -moz-user-select:none;
      -ms-user-select:none;
      user-select:none;
    }

.plannerViewControls{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      margin:12px auto 0;
      position:relative;
      z-index:6;
    }

.plannerViewSwitch{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      align-self:auto;
      margin:0;
      padding:0;
      border-radius:0;
      background:transparent;
      position:relative;
      z-index:1;
    }

.plannerViewBtn{
      width:10px;
      height:10px;
      border-radius:50%;
      border:none;
      background:rgba(17,18,24,.22);
      padding:0;
      cursor:pointer;
      transition:transform .18s ease, background-color .18s ease, opacity .18s ease;
    }

.plannerViewBtn:hover{
      background:rgba(17,18,24,.4);
      transform:scale(1.05);
    }

.plannerViewBtn.is-active{
      background:#111218;
      transform:none;
    }

.plannerViewBtn:disabled{
      opacity:.35;
      cursor:not-allowed;
      transform:none;
    }

.plannerViewArrow{
      position:relative;
      top:auto;
      transform:none;
      width:40px;
      height:40px;
      border:none;
      border-radius:50%;
      background:transparent;
      color:rgba(17,18,24,.82);
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      z-index:1;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      transition:transform .18s ease, opacity .18s ease, color .18s ease;
      -webkit-tap-highlight-color:transparent;
      -webkit-appearance:none;
      appearance:none;
      user-select:none;
      outline:none;
    }

.plannerViewArrow:hover{
      background:transparent;
      color:#111218;
      transform:scale(1.06);
    }

.plannerViewArrow:disabled{
      opacity:.28;
      pointer-events:none;
      cursor:not-allowed;
      transform:none;
      box-shadow:none;
    }

.plannerViewArrow:focus,
    .plannerViewArrow:focus-visible,
    .plannerViewArrow:active{
      outline:none;
      background:transparent;
      color:#111218;
      box-shadow:none;
    }

.plannerViewArrow:active{
      transform:scale(.98);
    }

.plannerViewArrow svg{
      width:17px;
      height:17px;
      stroke:currentColor;
      stroke-width:2.1;
      fill:none;
      stroke-linecap:round;
      stroke-linejoin:round;
      opacity:.98;
    }

.plannerFaceJoystick{
      position:absolute;
      right:14px;
      bottom:56px;
      z-index:30;
      display:grid;
      grid-template-columns:34px 34px 34px;
      grid-template-rows:auto 34px 34px 34px 34px 34px 34px 34px 34px 34px 34px 34px 34px;
      gap:6px;
      padding:8px;
      border-radius:14px;
      background:rgba(255,255,255,.92);
      box-shadow:0 8px 20px rgba(0,0,0,.15);
      opacity:0;
      pointer-events:none;
      transition:opacity .18s ease;
      user-select:none;
    }

.plannerKonvaEditor{
      position:absolute;
      right:14px;
      bottom:56px;
      z-index:31;
      width:168px;
      border-radius:14px;
      background:rgba(255,255,255,.92);
      box-shadow:0 8px 20px rgba(0,0,0,.15);
      border:1px solid rgba(17,18,24,.12);
      padding:8px;
      display:flex;
      flex-direction:column;
      gap:8px;
    }

.plannerKonvaTools{
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      gap:6px;
    }

.plannerKonvaBtn{
      border:1px solid rgba(17,18,24,.16);
      border-radius:10px;
      background:#fff;
      color:#111218;
      font-size:12px;
      line-height:1;
      font-weight:700;
      min-height:30px;
      cursor:pointer;
    }

.plannerKonvaBtn:active{
      background:rgba(17,18,24,.08);
    }

.plannerKonvaStage{
      width:100%;
      height:138px;
      border:1px solid rgba(17,18,24,.14);
      border-radius:10px;
      background:rgba(17,18,24,.04);
      overflow:hidden;
    }

.plannerKonvaEditor .plannerFaceJoystickTarget{
      grid-column:auto;
      padding-bottom:0;
      margin-bottom:2px;
      letter-spacing:.05em;
    }

.plannerFaceEditToggle{
      position:absolute;
      top:8px;
      right:8px;
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:10px;
      font-weight:700;
      letter-spacing:.04em;
      color:#111218;
      text-transform:uppercase;
      background:rgba(255,255,255,.92);
      border:1px solid rgba(17,18,24,.14);
      border-radius:999px;
      padding:3px 7px 3px 5px;
      z-index:2;
    }

.plannerFaceEditToggle input{
      margin:0;
      width:13px;
      height:13px;
      accent-color:#111218;
      cursor:pointer;
    }

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

.plannerFaceJoystick:not(.is-edit-mode) .plannerFaceJoystickBtn{
      opacity:.38;
      pointer-events:none;
    }

.plannerFaceJoystick.is-visible{
      opacity:1;
      pointer-events:auto;
    }

.plannerFaceJoystickTarget{
      grid-column:1 / 4;
      font-size:11px;
      line-height:1;
      letter-spacing:.04em;
      font-weight:700;
      color:#111218;
      text-align:center;
      padding-bottom:2px;
      text-transform:uppercase;
    }

.plannerFaceJoystickBtn{
      border:1px solid rgba(17,18,24,.16);
      border-radius:10px;
      background:#fff;
      color:#111218;
      font-size:16px;
      line-height:1;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:0;
    }

.plannerFaceJoystickBtn:active{
      background:rgba(17,18,24,.08);
    }

.plannerFaceJoystickBtn[data-joystick-move="up"]{ grid-column:2; grid-row:2; }

.plannerFaceJoystickBtn[data-joystick-move="left"]{ grid-column:1; grid-row:3; }

.plannerFaceJoystickBtn[data-joystick-move="right"]{ grid-column:3; grid-row:3; }

.plannerFaceJoystickBtn[data-joystick-move="down"]{ grid-column:2; grid-row:4; }

.plannerFaceJoystickBtn[data-joystick-scale="up"]{ grid-column:1; grid-row:5; font-size:20px; }

.plannerFaceJoystickBtn[data-joystick-scale="down"]{ grid-column:3; grid-row:5; font-size:20px; }

.plannerFaceJoystickBtn[data-joystick-shape="square"]{ grid-column:1; grid-row:6; font-size:12px; }

.plannerFaceJoystickBtn[data-joystick-shape="rounded"]{ grid-column:2; grid-row:6; font-size:12px; }

.plannerFaceJoystickBtn[data-joystick-shape="circle"]{ grid-column:3; grid-row:6; font-size:12px; }

.plannerFaceJoystickBtn[data-joystick-shape="oval"]{ grid-column:1; grid-row:7; font-size:11px; }

.plannerFaceJoystickBtn[data-joystick-shape="pill"]{ grid-column:2; grid-row:7; font-size:11px; }

.plannerFaceJoystickBtn[data-joystick-shape="diamond"]{ grid-column:3; grid-row:7; font-size:11px; }

.plannerFaceJoystickBtn[data-joystick-shape="squircle"]{ grid-column:1; grid-row:8; font-size:10px; }

.plannerFaceJoystickBtn[data-joystick-shape="bevel"]{ grid-column:2; grid-row:8; font-size:10px; }

.plannerFaceJoystickBtn[data-joystick-shape="hexagon"]{ grid-column:3; grid-row:8; font-size:10px; }

.plannerFaceJoystickBtn[data-joystick-shape="parallelogram"]{ grid-column:1; grid-row:9; font-size:10px; }

.plannerFaceJoystickBtn[data-joystick-shape="trapezoid"]{ grid-column:2; grid-row:9; font-size:10px; }

.plannerFaceJoystickBtn[data-joystick-shape="triangle"]{ grid-column:3; grid-row:9; font-size:10px; }

.plannerFaceJoystickBtn[data-joystick-shape="capsulev"]{ grid-column:2; grid-row:10; font-size:10px; }

.plannerFaceJoystickBtn[data-joystick-shape]{
      font-size:0;
      position:relative;
    }

.plannerFaceJoystickBtn[data-joystick-shape]::before{
      content:"";
      width:18px;
      height:14px;
      background:rgba(17,18,24,.14);
      border:1.4px solid rgba(17,18,24,.72);
      border-radius:0;
      display:block;
      box-sizing:border-box;
    }

.plannerFaceJoystickBtn[data-joystick-shape="rounded"]::before{ border-radius:12%; }

.plannerFaceJoystickBtn[data-joystick-shape="circle"]::before{
      width:14px;
      height:14px;
      border-radius:50%;
    }

.plannerFaceJoystickBtn[data-joystick-shape="oval"]::before{
      width:19px;
      height:12px;
      border-radius:50%;
    }

.plannerFaceJoystickBtn[data-joystick-shape="pill"]::before{
      width:20px;
      height:10px;
      border-radius:999px;
    }

.plannerFaceJoystickBtn[data-joystick-shape="diamond"]::before{
      width:12px;
      height:12px;
      transform:rotate(45deg);
    }

.plannerFaceJoystickBtn[data-joystick-shape="squircle"]::before{ border-radius:28%; }

.plannerFaceJoystickBtn[data-joystick-shape="bevel"]::before{
      clip-path:polygon(12% 0%, 88% 0%, 100% 12%, 100% 88%, 88% 100%, 12% 100%, 0% 88%, 0% 12%);
    }

.plannerFaceJoystickBtn[data-joystick-shape="hexagon"]::before{
      clip-path:polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    }

.plannerFaceJoystickBtn[data-joystick-shape="parallelogram"]::before{
      clip-path:polygon(12% 0%, 100% 0%, 88% 100%, 0% 100%);
    }

.plannerFaceJoystickBtn[data-joystick-shape="trapezoid"]::before{
      clip-path:polygon(15% 0%, 85% 0%, 100% 100%, 0% 100%);
    }

.plannerFaceJoystickBtn[data-joystick-shape="triangle"]::before{
      clip-path:polygon(50% 0%, 100% 100%, 0% 100%);
    }

.plannerFaceJoystickBtn[data-joystick-shape="capsulev"]::before{
      width:10px;
      height:20px;
      border-radius:999px;
    }

.plannerFaceJoystickBtn[data-joystick-action="rotate-ccw"]{
      grid-column:1;
      grid-row:10;
      font-size:14px;
      font-weight:700;
    }

.plannerFaceJoystickBtn[data-joystick-action="rotate-cw"]{
      grid-column:3;
      grid-row:10;
      font-size:14px;
      font-weight:700;
    }

.plannerFaceJoystickBtn[data-joystick-action="back"]{
      grid-column:1;
      grid-row:11;
      font-size:11px;
      font-weight:700;
      letter-spacing:.05em;
    }

.plannerFaceJoystickBtn[data-joystick-action="front"]{
      grid-column:2;
      grid-row:11;
      font-size:11px;
      font-weight:700;
      letter-spacing:.05em;
    }

.plannerFaceJoystickBtn[data-joystick-action="copy-view"]{
      grid-column:3;
      grid-row:11;
      font-size:11px;
      font-weight:700;
      letter-spacing:.05em;
    }

.plannerFaceJoystickBtn[data-joystick-action="save"]{
      grid-column:2 / 4;
      grid-row:12;
      font-size:11px;
      font-weight:700;
      letter-spacing:.05em;
    }

.plannerFaceJoystickBtn[data-joystick-action="bind-file"]{
      grid-column:1;
      grid-row:12;
      font-size:10px;
      font-weight:700;
      letter-spacing:.04em;
    }

.plannerFaceJoystickBtn[data-joystick-action="delete"]{
      grid-column:1;
      grid-row:13;
      font-size:10px;
      font-weight:700;
      letter-spacing:.04em;
    }

.plannerFaceJoystickBtn[data-joystick-action="duplicate"]{
      grid-column:2;
      grid-row:13;
      font-size:10px;
      font-weight:700;
      letter-spacing:.04em;
    }

.plannerFaceJoystickBtn[data-joystick-action="new"]{
      grid-column:3;
      grid-row:13;
      font-size:10px;
      font-weight:700;
      letter-spacing:.04em;
    }

.plannerFaceJoystickBtn[data-joystick-action="undo"]{
      grid-column:1 / 4;
      grid-row:14;
      font-size:10px;
      font-weight:700;
      letter-spacing:.05em;
    }

.plannerFaceJoystickCenter{
      grid-column:2;
      grid-row:3;
      border-radius:999px;
      border:1px solid rgba(17,18,24,.16);
      background:rgba(17,18,24,.06);
    }

.plannerFaceWarpHandle{
      position:absolute;
      width:12px;
      height:12px;
      border-radius:999px;
      border:1.5px solid #0f5ebf;
      background:#beddff;
      box-shadow:0 1px 4px rgba(0,0,0,.2);
      z-index:120;
      cursor:grab;
      touch-action:none;
    }

.plannerFaceJoystick[hidden] ~ .plannerFaceWarpHandle,
    .plannerFaceWarpHandle{
      display:none !important;
    }

.plannerFaceWarpHandle:active{
      cursor:grabbing;
    }

body.planner-hotspots-hidden .zoneSketchBtn,
    body.planner-hotspots-hidden .zoneSketchBtn:hover,
    body.planner-hotspots-hidden .zoneSketchBtn:active,
    body.planner-hotspots-hidden .zoneSketchBtn:focus,
    body.planner-hotspots-hidden .zoneSketchBtn:focus-visible,
    body.planner-hotspots-hidden .zoneSketchBtn.is-active{
      opacity:0 !important;
      background:transparent !important;
      border:0 !important;
      border-color:transparent !important;
      color:transparent !important;
      box-shadow:none !important;
      text-shadow:none !important;
      outline:none !important;
      transition:none !important;
      filter:none !important;
      transform:none !important;
    }

body.planner-hotspots-hidden .zoneSketchTag{
      opacity:0 !important;
      color:transparent !important;
      text-shadow:none !important;
    }

body.planner-lowperf .zoneSketchTag{
      display:none !important;
    }

html.planner-embed body.planner-lowperf .zoneSketchTag{
      display:block !important;
    }

.plannerFaceJoystick[hidden],
    .plannerButtonInspector[hidden]{
      display:none !important;
    }

.plannerButtonInspector{
      position:absolute;
      left:12px;
      bottom:14px;
      z-index:35;
      min-width:200px;
      max-width:260px;
      padding:10px 11px;
      border-radius:12px;
      border:1px solid rgba(17,18,24,.18);
      background:rgba(255,255,255,.94);
      box-shadow:0 8px 18px rgba(0,0,0,.14);
      display:flex;
      flex-direction:column;
      gap:6px;
      font-size:11px;
      line-height:1.25;
      color:#111218;
      backdrop-filter:blur(5px);
    }

.plannerButtonInspectorTitle{
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

.plannerButtonInspectorData{
      font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      letter-spacing:.01em;
      color:rgba(17,18,24,.86);
      white-space:pre-wrap;
    }

.plannerButtonInspectorTools{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:6px;
    }

.plannerButtonInspectorBtn{
      border:1px solid rgba(17,18,24,.18);
      border-radius:9px;
      min-height:28px;
      font-size:11px;
      font-weight:700;
      line-height:1;
      letter-spacing:.04em;
      background:#fff;
      color:#111218;
      cursor:pointer;
    }

.plannerButtonInspectorBtn:active{
      background:rgba(17,18,24,.08);
    }

.plannerButtonInspectorBtn.is-active{
      background:#111218;
      color:#fff;
      border-color:#111218;
    }

.plannerButtonInspectorBtn--wide{
      grid-column:1 / 3;
    }

.plannerMobileInfo{
      display:none;
      position:absolute;
      left:12px;
      right:12px;
      top:12px;
      z-index:1;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      pointer-events:none;
      opacity:var(--planner-mobile-info-opacity, 1);
      transition:opacity .16s ease;
    }

.plannerMobileInfoZones{
      display:flex;
      flex-direction:column;
      align-items:stretch;
      gap:4px;
      grid-column:1;
      flex:0 1 auto;
      min-width:0;
      max-width:min(40vw, 240px);
      padding-right:0;
      pointer-events:auto;
      mask-image:linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 78%, rgba(0,0,0,.42) 91%, rgba(0,0,0,0) 100%);
      -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 78%, rgba(0,0,0,.42) 91%, rgba(0,0,0,0) 100%);
      max-height:calc((1.18em * 4) + 14px);
      overflow:hidden;
    }

.plannerMobileInfo.is-completion-promo-active{
      gap:0;
    }

.plannerMobileInfo.is-completion-promo-active .plannerMobileInfoZones{
      max-width:min(72vw, 380px);
    }

.plannerMobileInfo.is-completion-promo-active .plannerNextBenefit{
      width:0 !important;
      min-width:0;
      opacity:0;
      overflow:hidden;
      pointer-events:none;
    }

.plannerMobileInfoZones.is-expanded{
      max-height:min(38vh, 280px);
      overflow:auto;
      mask-image:none;
      -webkit-mask-image:none;
    }

.plannerMobileInfoZoneRow{
      display:block;
      min-width:0;
      font-size:14px;
      line-height:1.12;
      color:#111218;
      letter-spacing:var(--appleBodyTracking);
      font-weight:var(--appleEmphasisWeight);
      white-space:normal;
      overflow-wrap:anywhere;
      word-break:break-word;
      opacity:1;
      transform:none;
      filter:none;
      animation:none;
    }

.plannerMobileInfoZoneRow--latest{
      opacity:1;
    }

.plannerMobileInfoZoneRow--promo{
      transform-origin:50% 52%;
      backface-visibility:hidden;
      will-change:transform, opacity, filter;
    }

.plannerMobileInfoZoneRow--promo-lead{
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      font-weight:700;
    }

.plannerMobileInfoZoneRow--promo-save{
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
    }

.plannerMobileInfoZoneRow--board-swap{
      animation:plannerMobileInfoPromoSwap .62s cubic-bezier(.22,.72,.24,1) both;
    }

.plannerMobileInfoZoneRow--hint{
      font-size:11px;
      line-height:1.24;
      color:rgba(17,18,24,.66);
      font-weight:560;
    }

.plannerMobileInfoZoneCard{
      display:flex;
      flex-direction:column;
      gap:4px;
      min-width:0;
    }

.plannerMobileInfoZoneToggle{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:8px;
      width:100%;
      border:none;
      padding:0;
      margin:0;
      background:transparent;
      color:inherit;
      font:inherit;
      text-align:left;
      cursor:pointer;
      -webkit-tap-highlight-color:transparent;
    }

.plannerMobileInfoZoneToggleText{
      min-width:0;
      flex:1 1 auto;
      font:inherit;
      color:inherit;
    }

.plannerMobileInfoZoneChevron{
      flex:0 0 auto;
      width:11px;
      height:11px;
      margin-top:2px;
      color:rgba(17,18,24,.58);
      transition:transform .18s ease;
    }

.plannerMobileInfoZoneCard.is-open .plannerMobileInfoZoneChevron{
      transform:rotate(180deg);
    }

.plannerMobileInfoZoneDetails{
      display:flex;
      flex-direction:column;
      gap:4px;
      margin-left:10px;
      padding-left:8px;
      border-left:1px dashed rgba(17,18,24,.14);
    }

.plannerMobileInfoZoneDetailRow{
      display:flex;
      align-items:baseline;
      justify-content:space-between;
      gap:10px;
      min-width:0;
      font-size:12px;
      line-height:1.2;
      color:rgba(17,18,24,.72);
      letter-spacing:-.01em;
      font-weight:560;
    }

.plannerMobileInfoZoneDetailName{
      min-width:0;
      flex:1 1 auto;
      overflow-wrap:anywhere;
      word-break:break-word;
    }

.plannerMobileInfoZoneDetailPrice{
      flex:0 0 auto;
      white-space:nowrap;
      color:rgba(17,18,24,.76);
      font-weight:620;
    }

.plannerMobileInfoPrice{
      grid-column:3;
      width:max-content;
      min-width:5ch;
      max-width:12ch;
      display:flex;
      flex:0 0 auto;
      flex-direction:column;
      text-align:right;
      overflow:hidden;
      transition:opacity .22s ease, visibility .22s ease, width .22s ease, min-width .22s ease;
    }

.plannerMobileInfo.is-completion-promo-price-hidden .plannerMobileInfoPrice{
      opacity:0;
      visibility:hidden;
      width:0;
      min-width:0;
    }

.plannerMobileInfo.is-completion-promo-price-green .plannerMobileInfoPriceCurrent{
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      font-weight:700;
      font-size:18px;
    }

.plannerMobileInfoPriceOld{
      display:none;
      order:2;
      font-size:13px;
      line-height:1.16;
      color:rgba(17,18,24,.52);
      text-decoration:line-through;
      letter-spacing:-.01em;
      font-weight:600;
      white-space:nowrap;
    }

.plannerMobileInfoPriceOld,
    .plannerMobileInfoPriceCurrent,
    .plannerMobileInfoSaved{
      opacity:1;
      transform:none;
      filter:none;
    }

.plannerMobileInfoPriceOld.is-animating,
    .plannerMobileInfoPriceCurrent.is-animating,
    .plannerMobileInfoSaved.is-animating{
      animation:none;
    }

.plannerMobileInfoPriceCurrent{
      display:block;
      order:3;
      margin-top:0;
      font-size:14px;
      line-height:1.12;
      color:#111218;
      letter-spacing:var(--appleBodyTracking);
      font-weight:var(--appleEmphasisWeight);
      white-space:nowrap;
    }

.plannerMobileInfoSaved{
      display:none;
      order:1;
      margin-top:1px;
      font-size:13px;
      line-height:1.16;
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      letter-spacing:-.01em;
      font-weight:600;
      white-space:nowrap;
    }

.plannerMobileInfoPriceOld:not(:empty),
    .plannerMobileInfoSaved:not(:empty){
      display:block;
    }

.plannerMobileInfo.is-empty .plannerMobileInfoPriceCurrent{
      color:rgba(17,18,24,.62);
      font-weight:620;
    }

.plannerMobileInfo.is-empty .plannerMobileInfoSaved{
      color:rgba(17,18,24,.45);
      font-weight:540;
    }

.plannerFigure::-webkit-scrollbar{
      width:0;
      height:0;
      display:none;
    }

.plannerFigure.is-dragging{
      cursor:grabbing;
    }

.plannerFigure.is-dragging,
    .plannerFigure.is-dragging *{
      user-select:none;
      -webkit-user-select:none;
    }

.plannerFigureInner{
      position:relative;
      width:100%;
      height:100%;
      max-width:none;
      overflow:visible;
      flex:0 0 auto;
      margin:0 auto;
      will-change:width, height;
      contain:layout paint;
      transform:translateZ(0);
      --planner-active-aspect:2200 / 5500;
    }

.plannerFigureViewport{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      overflow:hidden;
      z-index:0;
    }

.plannerFigureViewportScroll{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      overflow-x:auto;
      overflow-y:hidden;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      overscroll-behavior-x:contain;
      overscroll-behavior-y:none;
      scrollbar-width:none;
      -ms-overflow-style:none;
      z-index:0;
      opacity:0;
      pointer-events:none;
      transition:opacity .18s ease;
    }

.plannerFigureViewportScroll::-webkit-scrollbar{
      display:none;
    }

.plannerFigureTrackScroll{
      display:flex;
      width:100%;
      height:100%;
      column-gap:var(--planner-scroll-scene-gap, 0px);
    }

.plannerFigureSceneScroll{
      position:relative;
      flex:0 0 100%;
      min-width:100%;
      height:100%;
      scroll-snap-align:center;
      padding-inline:0;
      box-sizing:border-box;
      pointer-events:none;
    }

.plannerFigureScrollSketch,
    .plannerFigureScrollBackSketch{
      position:absolute;
      left:50%;
      top:0;
      width:auto;
      height:100%;
      max-width:100%;
      aspect-ratio:var(--planner-active-aspect, 2200 / 5500);
      transform:translateX(-50%);
      z-index:14;
      pointer-events:none;
    }

.plannerFigureScrollSketch .zoneSketchBtn,
    .plannerFigureScrollBackSketch .zoneSketchBtn{
      pointer-events:none;
    }

.plannerFigureWrap[data-planner-transport="scroll-snap"] .plannerFigureViewport{
      opacity:0;
      pointer-events:none;
    }

.plannerFigureWrap[data-planner-transport="scroll-snap"] .plannerFigureViewportScroll{
      opacity:1;
      pointer-events:auto;
    }

.plannerFigureViewport,
    .plannerFigureViewportScroll{
      will-change:opacity;
      backface-visibility:hidden;
      transform:translateZ(0);
    }

.plannerFigureViewportScroll{
      transition:none;
    }

.plannerFigureWrap.is-mode-switching .plannerFigureViewport,
    .plannerFigureWrap.is-mode-switching .plannerFigureViewportScroll{
      transition:none !important;
    }

.plannerFigureTrack{
      display:flex;
      width:100%;
      height:100%;
      column-gap:var(--planner-scene-gap, 4px);
      transform:translate3d(0, 0, 0);
      transition:transform .34s cubic-bezier(.22, 1, .36, 1);
      will-change:transform;
    }

.plannerFigureTrack.is-mode-switching{
      will-change:transform;
    }

.plannerFigureTrack.is-interactive-swipe{
      transition:none !important;
    }

.plannerFigure img{
      display:block;
      object-fit:contain;
      object-position:center;
      -webkit-user-drag:none;
      user-drag:none;
      pointer-events:none;
    }

.plannerFigure img[src="data:,"],
    .plannerFigure img[src=""]{
      visibility:hidden;
    }

.plannerFigureBase{
      position:absolute;
      left:0;
      top:var(--planner-scene-safe-top, 8px);
      width:100%;
      height:calc(100% - var(--planner-scene-safe-top, 8px) - var(--planner-scene-safe-bottom, 40px));
      z-index:1;
      pointer-events:none;
      will-change:transform, opacity;
      backface-visibility:hidden;
      transform:translateZ(0);
    }

.plannerFigureBase.is-view-switching,
    .plannerFigureOverlayImage.is-view-switching,
    .plannerFigureFrontline.is-view-switching{
      pointer-events:none;
    }

.plannerBackSketch{
      position:absolute;
      left:50%;
      top:0;
      width:auto;
      height:100%;
      max-width:100%;
      aspect-ratio:var(--planner-active-aspect, 2200 / 5500);
      transform:translateX(-50%);
      pointer-events:none;
      z-index:4;
    }

.plannerFigureScene{
      position:relative;
      flex:0 0 100%;
      min-width:100%;
      height:100%;
      pointer-events:none;
      z-index:0;
      padding-inline:clamp(8px, 2vw, 18px);
      box-sizing:border-box;
    }

.plannerFigureSceneFrame{
      position:relative;
      height:100%;
      width:auto;
      max-width:100%;
      margin:0 auto;
      box-sizing:border-box;
      padding-top:var(--planner-scene-safe-top, 8px);
      padding-bottom:var(--planner-scene-safe-bottom, 40px);
      aspect-ratio:var(--planner-scene-aspect, 2200 / 5500);
    }

.plannerBackDeadZone{
      position:absolute;
      left:50%;
      top:35%;
      width:30%;
      height:22%;
      transform:translate(-50%, -50%);
      pointer-events:auto;
      background:transparent;
      border-radius:999px;
      z-index:6;
    }

.plannerFigureOverlayImage{
      position:absolute;
      left:0;
      top:var(--planner-scene-safe-top, 8px);
      width:100%;
      height:calc(100% - var(--planner-scene-safe-top, 8px) - var(--planner-scene-safe-bottom, 40px));
      object-fit:contain;
      object-position:center;
      pointer-events:none;
      z-index:3;
      opacity:0;
      transition:opacity .095s cubic-bezier(.2, .8, .2, 1), filter .12s cubic-bezier(.2, .8, .2, 1);
      will-change:opacity, transform;
      backface-visibility:hidden;
      transform:translateZ(0);
    }

.plannerFigureOverlayImage.is-visible,
    .plannerFigureOverlayImage.is-guide-visible{
      opacity:1;
      filter:saturate(1.22) brightness(1.2) contrast(1.04);
    }

html.planner-first-view-intro-active .plannerFigureOverlayImage{
      transition-duration:0s, 0s !important;
    }

.plannerFigureOverlayImage.is-visible.is-promo-preview{
      opacity:.57;
    }

.plannerFigureOverlayImage.is-visible.is-promo-preview-current{
      opacity:1;
      filter:saturate(1.22) brightness(1.2) contrast(1.04);
    }

.plannerFigureOverlayImage.is-intro-current{
      opacity:.75;
      transition-duration:0s, 0s;
    }

.plannerFigureOverlayImage.is-intro-trail{
      opacity:.75;
      transition-duration:0s, 0s;
    }

@media (max-width: 1024px){
.plannerFigureOverlayImage.is-intro-current{
        opacity:.75;
      }

.plannerFigureOverlayImage.is-intro-trail{
        opacity:.75;
      }
}

.plannerFigureFrontline{
      position:absolute;
      left:0;
      top:var(--planner-scene-safe-top, 8px);
      width:100%;
      height:calc(100% - var(--planner-scene-safe-top, 8px) - var(--planner-scene-safe-bottom, 40px));
      object-fit:contain;
      object-position:center;
      pointer-events:none;
      z-index:12;
      opacity:0;
      backface-visibility:hidden;
      transform:translateZ(0);
    }

.plannerFigureFrontline.is-visible{
      opacity:1;
    }

.plannerFigureBase--photo-back,
    .plannerFigureFrontline--photo-back{
      object-position:center;
      transform:translateZ(0) scale(1.5);
      transform-origin:center center;
    }

.plannerFigureFrontline--below-overlays{
      z-index:2;
    }

.plannerFigureOverlayImage--back{
      z-index:0;
    }

.plannerFigureOverlayImage--axilla-gray{
      z-index:10;
    }

.plannerFigureOverlayImage--dynamic{
      z-index:3;
    }

.plannerFigureOverlayImage--dynamic.plannerFigureOverlayImage--axilla-main{
      z-index:11 !important;
    }

.plannerFigureOverlayImage--dynamic.plannerFigureOverlayImage--axilla-gray-dynamic{
      z-index:10 !important;
    }

.plannerFigureOverlayImage--axilla-gray,
    .plannerFigureOverlayImage--axilla-gray-dynamic{
      display:none !important;
    }

#plannerFigureOverlayAxilla{
      z-index:11;
    }

.plannerSketch{
      position:absolute;
      left:50%;
      top:0;
      width:auto;
      height:100%;
      max-width:100%;
      aspect-ratio:var(--planner-active-aspect, 2200 / 5500);
      transform:translateX(-50%);
      pointer-events:none;
      z-index:4;
    }

.plannerComboFx{
      position:absolute;
      left:50%;
      top:12%;
      transform:translate(-50%, 0);
      pointer-events:none;
      z-index:9;
      font-family:"Avenir Next","Avenir",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
      font-size:15px;
      font-weight:500;
      line-height:1.1;
      letter-spacing:0;
      color:var(--plannerSuccessGlassReadable);
      text-shadow:var(--plannerSuccessGlassReadableShadow);
      -webkit-text-stroke:.35px rgba(6,18,10,.18);
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      white-space:nowrap;
      animation:plannerComboRise 1.55s linear forwards;
      will-change:transform, opacity;
    }

.plannerComboFx--premium{
      font-size:17px;
      font-weight:560;
      color:var(--plannerSuccessGlassReadable);
    }

.plannerSketch--ghost .zoneSketchBtn{
      border-color:transparent !important;
      background:transparent !important;
      box-shadow:none !important;
      color:transparent !important;
      outline:none !important;
      -webkit-tap-highlight-color:transparent !important;
      -webkit-appearance:none !important;
      appearance:none !important;
    }

.plannerSketch--ghost .zoneSketchBtn:hover,
    .plannerSketch--ghost .zoneSketchBtn:active,
    .plannerSketch--ghost .zoneSketchBtn:focus,
    .plannerSketch--ghost .zoneSketchBtn:focus-visible,
    .plannerSketch--ghost .zoneSketchBtn.is-active{
      border-color:transparent !important;
      background:transparent !important;
      box-shadow:none !important;
      color:transparent !important;
      transform:none !important;
    }

.plannerSketch--ghost .zoneSketchTag{
      display:none !important;
    }

.plannerSketch--ghost .zoneSketchBtn--always-visible{
      border-color:transparent !important;
      background:transparent !important;
      box-shadow:none !important;
      color:transparent !important;
      transform:none !important;
    }

.plannerSketch--ghost .zoneSketchBtn--always-visible:hover,
    .plannerSketch--ghost .zoneSketchBtn--always-visible.is-active{
      border-color:transparent !important;
      background:transparent !important;
      box-shadow:none !important;
      color:transparent !important;
      transform:none !important;
    }

.plannerSketch--ghost .zoneSketchBtn--back,
    .plannerSketch--ghost .zoneSketchBtn--back:hover,
    .plannerSketch--ghost .zoneSketchBtn--back.is-active{
      transform:none !important;
    }

.plannerSketch--ghost .zoneSketchBtn--always-visible.is-active{
      border-color:transparent !important;
      background:transparent !important;
      color:transparent !important;
      transform:none !important;
    }

.plannerSketch--ghost .zoneSketchBtn--always-visible .zoneSketchTag{
      display:none !important;
    }

.zoneSketchBtn{
      position:absolute;
      border:1px dashed rgba(17,18,24,.36);
      background:rgba(255,255,255,.62);
      color:#111218;
      border-radius:12px;
      padding:0;
      cursor:pointer;
      pointer-events:auto;
      transition:background-color .2s ease, border-color .2s ease, transform .18s ease, scale .18s ease, color .18s ease;
      display:flex;
      align-items:center;
      justify-content:center;
      outline:none;
      -webkit-tap-highlight-color:transparent;
      -webkit-appearance:none;
      appearance:none;
      scale:1;
    }

.zoneSketchBtn,
    .zoneSketchBtn:hover,
    .zoneSketchBtn:active,
    .zoneSketchBtn:focus,
    .zoneSketchBtn:focus-visible,
    .zoneSketchBtn.is-active,
    .zoneSketchBtn.is-tap-feedback,
    .zoneSketchBtn.is-multi-selected{
      opacity:1 !important;
      outline:none !important;
    }

.zoneSketchTag{
      opacity:1 !important;
      color:inherit !important;
      text-shadow:0 1px 1px rgba(0,0,0,.18);
    }

.zoneSketchBtn--no-appear-anim{
      transition:none !important;
      animation:none !important;
    }

.zoneSketchBtn:hover{
      background:rgba(255,255,255,.82);
      border-color:rgba(17,18,24,.55);
      transform:translateY(-1px);
    }

.zoneSketchBtn:active{
      scale:.96;
    }

.zoneSketchBtn.is-tap-feedback{
      animation:plannerZoneTapFeedback .32s cubic-bezier(.22, 1, .36, 1);
      box-shadow:
        0 0 0 1px rgba(255,255,255,.68) inset,
        0 0 0 8px rgba(255,88,146,.08);
    }

.zoneSketchBtn.is-active{
      background:var(--accent);
      border-color:var(--accent);
      color:var(--accentText);
    }

.zoneSketchBtn--thermo-blue,
    .zoneSketchBtn--thermo-blue:hover,
    .zoneSketchBtn--thermo-blue:focus,
    .zoneSketchBtn--thermo-blue:focus-visible{
      background:rgba(35, 130, 255, .22);
      border-color:#2584ff;
      color:#0b3f82;
      box-shadow:0 0 0 1px rgba(37, 132, 255, .25) inset;
    }

.zoneSketchBtn--thermo-blue.is-active{
      background:#2584ff;
      border-color:#2584ff;
      color:#fff;
      box-shadow:0 0 0 1px rgba(255,255,255,.48) inset;
    }

.zoneSketchBtn.is-active.is-tap-feedback{
      box-shadow:
        0 0 0 1px rgba(255,255,255,.24) inset,
        0 0 0 10px rgba(45,141,214,.12);
    }

@keyframes plannerZoneTapFeedback{
      0%{
        filter:saturate(1);
        opacity:1;
      }
      35%{
        filter:saturate(1.08);
        opacity:.96;
      }
      100%{
        filter:saturate(1);
        opacity:1;
      }
    }

.zoneSketchBtn--herren{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
    }

.zoneSketchBtn--herren:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      color:#0e2e49;
    }

.zoneSketchBtn--herren.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
    }

.zoneSketchBtn--custom{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:8px;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
    }

.zoneSketchBtn--custom:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      color:#0e2e49;
    }

.zoneSketchBtn--custom.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
    }

.zoneSketchBtn.is-multi-selected{
      outline:2px solid #0f5ebf;
      outline-offset:1px;
      box-shadow:0 0 0 2px rgba(15,94,191,.25);
    }

.plannerBoxSelect{
      position:fixed;
      z-index:9999;
      border:1.5px dashed #0f5ebf;
      background:rgba(15,94,191,.14);
      pointer-events:none;
    }

.zoneSketchTag{
      font-size:12px;
      font-weight:700;
      line-height:1.2;
      letter-spacing:-.01em;
      padding:2px 6px;
      white-space:nowrap;
      text-shadow:none;
    }

.zoneSketchBtn--intim-pof{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:polygon(50% 100%, 0 0, 100% 0);
      z-index:6;
    }

.zoneSketchBtn--intim-pof:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
    }

.zoneSketchBtn--intim-pof.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
    }

.zoneSketchBtn--intim-pof .zoneSketchTag{
      font-size:10px;
      font-weight:760;
      line-height:1.2;
      letter-spacing:0;
    }

.zoneSketchBtn--intim-pof-back{
      clip-path:none;
      border-radius:2px;
    }

.zoneSketchBtn--bikini-intim{
      clip-path:polygon(-18.75% 0, 118.75% 0, 50% 100%);
      z-index:1;
    }

.zoneSketchBtn--bikini{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      transform:rotate(-32deg);
      z-index:4;
    }

.zoneSketchBtn--bikini-mirror{
      transform:rotate(32deg);
    }

.zoneSketchBtn--bikini-taper-right{
      clip-path:polygon(0 0, 100% 0, 75% 100%, 0 100%);
    }

.zoneSketchBtn--bikini-tip{
      clip-path:polygon(50% 0, 0 100%, 100% 100%);
      transform:rotate(-10deg);
      padding:0;
    }

.zoneSketchBtn--bikini-tip .zoneSketchTag{
      display:none;
    }

.zoneSketchBtn--bikini-tip.zoneSketchBtn--bikini-mirror{
      transform:rotate(10deg);
    }

.zoneSketchBtn--bauch-tip{
      transform:rotate(-90deg);
    }

.zoneSketchBtn--bauch-tip.zoneSketchBtn--bikini-mirror{
      transform:rotate(90deg);
    }

.zoneSketchBtn--bauch-tip-top{
      transform:rotate(-182deg);
    }

.zoneSketchBtn--bauch-tip-top.zoneSketchBtn--bikini-mirror{
      transform:rotate(182deg);
    }

.zoneSketchBtn--bikini:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      transform:rotate(-32deg);
    }

.zoneSketchBtn--bikini-mirror:hover{
      transform:rotate(32deg) translateY(-1px);
    }

.zoneSketchBtn--bikini-tip:hover{
      transform:rotate(-10deg) translateY(-1px);
    }

.zoneSketchBtn--bikini-tip.zoneSketchBtn--bikini-mirror:hover{
      transform:rotate(10deg) translateY(-1px);
    }

.zoneSketchBtn--bauch-tip:hover{
      transform:rotate(-90deg) translateY(-1px);
    }

.zoneSketchBtn--bauch-tip.zoneSketchBtn--bikini-mirror:hover{
      transform:rotate(90deg) translateY(-1px);
    }

.zoneSketchBtn--bauch-tip-top:hover{
      transform:rotate(-182deg) translateY(-1px);
    }

.zoneSketchBtn--bauch-tip-top.zoneSketchBtn--bikini-mirror:hover{
      transform:rotate(182deg) translateY(-1px);
    }

.zoneSketchBtn--bikini.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
      transform:rotate(-32deg);
    }

.zoneSketchBtn--bikini-mirror.is-active{
      transform:rotate(32deg);
    }

.zoneSketchBtn--bikini-tip.is-active{
      transform:rotate(-10deg);
    }

.zoneSketchBtn--bikini-tip.zoneSketchBtn--bikini-mirror.is-active{
      transform:rotate(10deg);
    }

.zoneSketchBtn--bauch-tip.is-active{
      transform:rotate(-90deg);
    }

.zoneSketchBtn--bauch-tip.zoneSketchBtn--bikini-mirror.is-active{
      transform:rotate(90deg);
    }

.zoneSketchBtn--bauch-tip-top.is-active{
      transform:rotate(-182deg);
    }

.zoneSketchBtn--bauch-tip-top.zoneSketchBtn--bikini-mirror.is-active{
      transform:rotate(182deg);
    }

.zoneSketchBtn--bikini .zoneSketchTag{
      font-size:10px;
      font-weight:760;
      letter-spacing:0;
    }

.zoneSketchBtn--upperarms{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      transform:rotate(0deg);
      z-index:2;
    }

.zoneSketchBtn--upperarms-mirror{
      transform:rotate(0deg);
    }

.zoneSketchBtn--upperarms-lower{
      transform:rotate(-16deg);
      z-index:1;
    }

.zoneSketchBtn--upperarms-mirror.zoneSketchBtn--upperarms-lower{
      transform:rotate(16deg);
    }

.zoneSketchBtn--upperarms:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      transform:rotate(0deg);
    }

.zoneSketchBtn--upperarms-mirror:hover{
      transform:rotate(0deg) translateY(-1px);
    }

.zoneSketchBtn--upperarms-lower:hover{
      transform:rotate(-16deg) translateY(-1px);
    }

.zoneSketchBtn--upperarms-mirror.zoneSketchBtn--upperarms-lower:hover{
      transform:rotate(16deg) translateY(-1px);
    }

.zoneSketchBtn--upperarms.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
      transform:rotate(0deg);
    }

.zoneSketchBtn--upperarms-mirror.is-active{
      transform:rotate(0deg);
    }

.zoneSketchBtn--upperarms-lower.is-active{
      transform:rotate(-16deg);
    }

.zoneSketchBtn--upperarms-mirror.zoneSketchBtn--upperarms-lower.is-active{
      transform:rotate(16deg);
    }

.zoneSketchBtn--upperarms .zoneSketchTag{
      font-size:8px;
      font-weight:760;
      letter-spacing:0;
      line-height:1;
      text-align:center;
      padding:0 1px;
      white-space:nowrap;
    }

.zoneSketchBtn--chest{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      transform:rotate(0deg);
      z-index:3;
    }

.zoneSketchBtn--chest:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      transform:translateY(-1px);
    }

.zoneSketchBtn--chest.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
      transform:rotate(0deg);
    }

.zoneSketchBtn--chest .zoneSketchTag{
      font-size:8px;
      font-weight:760;
      letter-spacing:0;
      line-height:1;
      text-align:center;
      padding:0 1px;
      white-space:nowrap;
    }

.zoneSketchBtn--untersch-taper{
      clip-path:polygon(0 0, 100% 0, 91.67% 100%, 8.33% 100%);
    }

.zoneSketchBtn--untersch-taper-right{
      clip-path:polygon(0 0, 100% 0, 32% 100%, 0 100%);
    }

.zoneSketchBtn--untersch-taper-left{
      clip-path:polygon(0 0, 100% 0, 100% 100%, 68% 100%);
    }

.zoneSketchBtn--obersch{
      z-index:0;
      clip-path:none;
      border-radius:0;
    }

.zoneSketchBtn--obersch-tilt{
      z-index:0;
      transform:rotate(-30deg);
    }

.zoneSketchBtn--obersch-tilt.zoneSketchBtn--bikini-mirror{
      transform:rotate(30deg);
    }

.zoneSketchBtn--obersch-tilt:hover{
      transform:rotate(-30deg) translateY(-1px);
    }

.zoneSketchBtn--obersch-tilt.zoneSketchBtn--bikini-mirror:hover{
      transform:rotate(30deg) translateY(-1px);
    }

.zoneSketchBtn--obersch-tilt.is-active{
      transform:rotate(-30deg);
    }

.zoneSketchBtn--obersch-tilt.zoneSketchBtn--bikini-mirror.is-active{
      transform:rotate(30deg);
    }

.zoneSketchBtn--obersch-tilt .zoneSketchTag{
      font-size:8px;
      font-weight:760;
      letter-spacing:0;
      line-height:1;
      text-align:center;
      padding:0 1px;
      white-space:nowrap;
    }

.zoneSketchBtn--underarms{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      transform:rotate(-16deg);
      z-index:2;
    }

.zoneSketchBtn--underarms-mirror{
      transform:rotate(16deg);
    }

.zoneSketchBtn--underarms:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      transform:rotate(-16deg) translateY(-1px);
    }

.zoneSketchBtn--underarms-mirror:hover{
      transform:rotate(16deg) translateY(-1px);
    }

.zoneSketchBtn--underarms.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
      transform:rotate(-16deg);
    }

.zoneSketchBtn--underarms-mirror.is-active{
      transform:rotate(16deg);
    }

.zoneSketchBtn--underarms .zoneSketchTag{
      font-size:8px;
      font-weight:760;
      letter-spacing:0;
      line-height:1;
      text-align:center;
      padding:0 1px;
      white-space:nowrap;
    }

.zoneSketchBtn--bauchfull{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      transform:rotate(0deg);
      z-index:3;
    }

.zoneSketchBtn--bauchfull:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      transform:translateY(-1px);
    }

.zoneSketchBtn--bauchfull.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
      transform:rotate(0deg);
    }

.zoneSketchBtn--bauchfull .zoneSketchTag{
      font-size:8px;
      font-weight:760;
      letter-spacing:0;
      line-height:1;
      text-align:center;
      padding:0 1px;
      white-space:nowrap;
    }

.zoneSketchBtn--medialinebauch{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      transform:rotate(0deg);
      z-index:4;
    }

.zoneSketchBtn--medialinebauch:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      transform:translateY(-1px);
    }

.zoneSketchBtn--medialinebauch.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
      transform:rotate(0deg);
    }

.zoneSketchBtn--medialinebauch .zoneSketchTag{
      font-size:8px;
      font-weight:760;
      letter-spacing:0;
      line-height:1;
      text-align:center;
      padding:0 1px;
      white-space:nowrap;
    }

.zoneSketchBtn--upperlip{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:50%;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      z-index:5;
    }

.zoneSketchBtn--upperlip:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      transform:none;
    }

.zoneSketchBtn--upperlip.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
    }

.zoneSketchBtn--upperlip .zoneSketchTag{
      font-size:9px;
      font-weight:760;
      letter-spacing:0;
      line-height:1.05;
      text-align:center;
      padding:1px 3px;
    }

.zoneSketchBtn--chin{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.28);
      color:#0e2e49;
      border-radius:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      -webkit-mask-image:none;
      mask-image:none;
      filter:none;
      z-index:3;
    }

.zoneSketchBtn--chin:hover{
      background:rgba(45,141,214,.78);
      transform:none;
    }

.zoneSketchBtn--chin.is-active{
      background:#2d8dd6;
      color:#fff;
    }

.zoneSketchBtn--chin .zoneSketchTag{
      display:block;
      font-size:9px;
      font-weight:760;
      letter-spacing:0;
      line-height:1.05;
      text-align:center;
      padding:0 2px;
      text-shadow:0 1px 1px rgba(0,0,0,.25);
    }

.zoneSketchBtn--back{
      border:1px dashed rgba(17,18,24,.36);
      background:rgba(255,255,255,.62);
      color:#111218;
      border-radius:50%;
      clip-path:none;
      transform:none;
      box-shadow:none;
      z-index:5;
      opacity:1;
    }

.zoneSketchBtn--back:hover{
      background:rgba(255,255,255,.82);
      border-color:rgba(17,18,24,.55);
      transform:translateY(-1px);
    }

.zoneSketchBtn--back.is-active{
      background:rgba(255,255,255,.82);
      border-color:rgba(17,18,24,.55);
      color:#111218;
      transform:none;
    }

.zoneSketchBtn--axilla{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.16);
      color:#0e2e49;
      border-radius:50%;
      aspect-ratio:1 / 1;
      height:auto !important;
      padding:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.75) inset;
      clip-path:none;
      z-index:4;
    }

.zoneSketchBtn--axilla:hover{
      background:rgba(45,141,214,.24);
      border-color:#1f78bd;
      transform:none;
    }

.zoneSketchBtn--axilla.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
    }

.zoneSketchBtn--axilla .zoneSketchTag{
      display:block;
      font-size:8px;
      font-weight:760;
      letter-spacing:0;
      line-height:1;
      text-align:center;
      padding:0 2px;
      white-space:nowrap;
    }

.zoneSketchBtn--face-nav{
      border:2px solid #2d8dd6;
      background:rgba(45,141,214,.18);
      color:#0e2e49;
      border-radius:999px;
      clip-path:none;
      box-shadow:0 0 0 1px rgba(255,255,255,.78) inset;
      z-index:8600;
    }

.zoneSketchBtn--face-nav:hover{
      background:rgba(45,141,214,.28);
      border-color:#1f78bd;
      transform:none;
    }

.zoneSketchBtn--face-nav.is-active{
      background:#2d8dd6;
      border-color:#2d8dd6;
      color:#fff;
    }

.zoneSketchBtn--face-nav .zoneSketchTag{
      display:block;
      font-size:9px;
      font-weight:760;
      letter-spacing:.04em;
      line-height:1;
      text-align:center;
      white-space:nowrap;
    }

.plannerSketch .zoneSketchBtn,
    .plannerBackSketch .zoneSketchBtn{
      -webkit-tap-highlight-color:transparent !important;
      -webkit-touch-callout:none !important;
      -webkit-appearance:none !important;
      appearance:none !important;
      touch-action:manipulation;
    }

.plannerSketch .zoneSketchBtn:hover,
    .plannerSketch .zoneSketchBtn:active,
    .plannerSketch .zoneSketchBtn:focus,
    .plannerSketch .zoneSketchBtn:focus-visible,
    .plannerSketch .zoneSketchBtn.is-active,
    .plannerBackSketch .zoneSketchBtn:hover,
    .plannerBackSketch .zoneSketchBtn:active,
    .plannerBackSketch .zoneSketchBtn:focus,
    .plannerBackSketch .zoneSketchBtn:focus-visible,
    .plannerBackSketch .zoneSketchBtn.is-active{
      outline:none !important;
    }

.plannerSketch .zoneSketchTag,
    .plannerBackSketch .zoneSketchTag{
      display:block !important;
    }

body.is-planner-swiping .zoneSketchBtn,
    body.is-planner-swiping .zoneSketchBtn:hover,
    body.is-planner-swiping .zoneSketchBtn:active,
    body.is-planner-swiping .zoneSketchBtn:focus,
    body.is-planner-swiping .zoneSketchBtn:focus-visible,
    .plannerFigureWrap.is-planner-swiping .zoneSketchBtn,
    .plannerFigureWrap.is-planner-swiping .zoneSketchBtn:hover,
    .plannerFigureWrap.is-planner-swiping .zoneSketchBtn:active,
    .plannerFigureWrap.is-planner-swiping .zoneSketchBtn:focus,
    .plannerFigureWrap.is-planner-swiping .zoneSketchBtn:focus-visible{
      transform:none !important;
      transition:none !important;
      box-shadow:none !important;
      filter:none !important;
    }

.zoneBtn{
      border:1px solid rgba(0,0,0,.12);
      background:#f6f7fa;
      border-radius:16px;
      padding:12px;
      text-align:left;
      cursor:pointer;
      transition:background-color .2s ease, border-color .2s ease, transform .18s ease;
    }

.zoneBtn:hover{
      background:#f0f1f6;
      border-color:rgba(0,0,0,.2);
    }

.zoneBtn.is-active{
      background:#111218;
      border-color:#111218;
      color:#fff;
    }

@media (hover:none), (pointer:coarse){
.zoneSketchBtn,
      .zoneBtn{
        transition:background-color .12s ease, border-color .12s ease, color .12s ease !important;
      }

.zoneSketchBtn:hover,
      .zoneSketchBtn:active,
      .zoneSketchBtn:focus,
      .zoneSketchBtn:focus-visible,
      .zoneSketchBtn.is-active,
      .zoneBtn:hover,
      .zoneBtn:active,
      .zoneBtn:focus,
      .zoneBtn:focus-visible,
      .zoneBtn.is-active{
        transform:none !important;
      }
}

.zoneBtnName{
      display:block;
      font-size:15px;
      line-height:1.3;
      font-weight:640;
      letter-spacing:-.01em;
    }

.zoneBtnPrice{
      display:block;
      margin-top:4px;
      font-size:13px;
      opacity:.78;
    }

.orderList{
      margin:18px 0 0;
      padding:0;
      list-style:none;
      display:flex;
      flex-direction:column;
      flex:0 0 auto;
      gap:0;
      min-height:0;
      max-height:none;
      overflow-x:hidden;
      overflow-y:visible;
      overscroll-behavior:auto;
      scrollbar-gutter:auto;
      scrollbar-width:none;
      -ms-overflow-style:none;
    }

.orderList.is-scrollable{
      overflow-y:auto;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
    }

.orderList::-webkit-scrollbar{
      display:none;
      width:0;
      height:0;
    }

.plannerSetAddWrap{
      display:flex;
      justify-content:center;
      padding:9px 0;
    }

.plannerSetAddBtn{
      width:44px;
      height:44px;
      border:none;
      border-radius:999px;
      background:rgba(17,18,24,.06);
      color:#111218;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      font-size:28px;
      line-height:1;
      padding:0;
      transition:background .18s ease, transform .18s ease;
    }

.plannerSetAddBtn:hover{
      background:rgba(17,18,24,.1);
      transform:translateY(-1px);
    }

.plannerSetAddBtn[hidden]{
      display:none;
    }

.orderItem{
      --plannerOrderPriceColWidth:clamp(96px, 12vw, 126px);
      position:relative;
      display:block;
      border-bottom:1px solid rgba(17,18,24,.14);
      padding:14px 0;
      background:transparent;
      transition:opacity .18s ease;
      overflow:visible;
    }

.orderItem[data-set-id]{
      cursor:pointer;
    }

@keyframes plannerMobileInfoPromoSwap{
      0%{
        opacity:0;
        transform:translateY(5px);
        filter:blur(1.4px);
      }
      62%{
        opacity:1;
        transform:translateY(-1px);
        filter:blur(0);
      }
      100%{
        opacity:1;
        transform:translateY(0);
        filter:blur(0);
      }
    }

.orderItem--set-active{
      background:transparent;
      box-shadow:none;
      border-radius:0;
      padding:14px 0;
      margin:0;
      border-bottom:1px solid rgba(17,18,24,.14);
    }

.orderItem--set-inactive{
      opacity:.52;
    }

.orderItemName{
      font-size:clamp(18px, 1.5vw, 28px);
      line-height:1.12;
      color:#111218;
      letter-spacing:-.02em;
      font-weight:640;
    }

.orderItemName--set{
      font-size:clamp(16px, 1.35vw, 23px);
      white-space:nowrap;
    }

.orderItemNameLine{
      display:flex;
      align-items:center;
      min-width:0;
      gap:10px;
      position:relative;
      padding-right:34px;
    }

.orderItemNameWrap{
      display:block;
      min-width:0;
    }

.orderItemHeadWrap{
      display:flex;
      flex-direction:column;
      gap:4px;
      min-width:0;
      padding-right:calc(var(--plannerOrderPriceColWidth) + 10px);
    }

.orderItemMeta{
      font-size:12px;
      line-height:1.35;
      color:rgba(17,18,24,.52);
      letter-spacing:-.01em;
      font-weight:500;
    }

.orderItemPromoNote{
      font-size:12px;
      line-height:1.35;
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      letter-spacing:-.01em;
      font-weight:600;
    }

.orderItem--special-offer .orderItemMeta,
    .orderItem--special-offer .orderItemPromoNote,
    .orderItem--special-offer .orderItemSave{
      color:var(--plannerSuccessGlass);
      font-weight:600;
    }

.orderItemSave{
      display:inline-flex;
      align-items:center;
      gap:10px;
      width:max-content;
      font-size:14px;
      line-height:1.4;
      color:var(--plannerSuccessGlass);
      letter-spacing:-.01em;
      font-weight:650;
    }

.orderSavingLine{
      display:inline-flex;
      align-items:center;
      gap:10px;
      width:max-content;
    }

.orderItemSaveHintBtn{
      margin-left:0;
      border:none;
      background:transparent;
      padding:0;
      width:24px;
      height:24px;
      min-width:24px;
      min-height:24px;
      color:#111218;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      vertical-align:middle;
      transition:color .18s ease, transform .18s ease;
      border-radius:999px;
      -webkit-tap-highlight-color:transparent;
      touch-action:manipulation;
      user-select:none;
      position:absolute;
      top:50%;
      right:0;
      transform:translateY(-50%);
    }

.orderItemSaveHintBtn:hover{
      color:#111218;
      transform:translateY(calc(-50% - 1px));
    }

.orderItemSaveHintBtn.is-open{
      color:#111218;
      transform:translateY(-50%);
    }

.orderItemSaveHintIcon{
      width:12px;
      height:8px;
      background:currentColor;
      clip-path:polygon(50% 100%, 0 0, 100% 0);
      transform:rotate(0deg);
      transform-origin:50% 50%;
      transition:transform .18s ease;
    }

.orderItemSaveHintBtn.is-open .orderItemSaveHintIcon{
      transform:rotate(180deg);
    }

.orderItemDetails{
      display:flex;
      flex-direction:column;
      gap:4px;
      margin-top:6px;
      --order-details-safe-bottom:18px;
      padding:6px 0 var(--order-details-safe-bottom);
      border-top:1px dashed rgba(17,18,24,.14);
      max-height:none;
      overflow-x:hidden;
      overflow-y:visible;
      overscroll-behavior:auto;
      scroll-padding-bottom:var(--order-details-safe-bottom);
      scrollbar-gutter:auto;
      scrollbar-width:none;
      -ms-overflow-style:none;
    }

.orderItemDetails.is-scrollable{
      --order-details-safe-bottom:78px;
      overflow-y:auto;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
    }

.orderItemDetails.is-expand-pending{
      height:0;
      max-height:0;
      min-height:0;
      margin-top:0;
      padding-top:0;
      padding-bottom:0;
      opacity:0;
      transform:translateY(-6px);
      overflow:hidden;
      pointer-events:none;
    }

.orderItemDetails::-webkit-scrollbar{
      display:none;
      width:0;
      height:0;
    }

.orderItemDetailsPriceLabelRow{
      display:flex;
      justify-content:flex-end;
      width:100%;
      margin-bottom:2px;
    }

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

.orderItemDetailRow--toggle{
      margin-inline:-4px;
      padding:2px 4px;
      border-radius:8px;
      cursor:pointer;
      transition:background-color .18s ease, opacity .18s ease;
      -webkit-tap-highlight-color:transparent;
    }

.orderItemDetailRow--toggle:hover{
      background:rgba(17,18,24,.05);
    }

.orderItemDetailRow--toggle.is-muted{
      opacity:.58;
    }

.orderItemDetailRow--toggle.is-muted .orderItemDetailName,
    .orderItemDetailRow--toggle.is-muted .orderItemDetailPrice{
      text-decoration:line-through;
      text-decoration-thickness:1.4px;
    }

.orderItemDetailName{
      font-size:12px;
      line-height:1.25;
      color:rgba(17,18,24,.62);
      letter-spacing:-.01em;
      font-weight:500;
    }

.orderItemDetailPrice{
      font-size:12px;
      line-height:1.25;
      color:rgba(17,18,24,.76);
      letter-spacing:-.01em;
      font-weight:600;
      white-space:nowrap;
    }

.orderItemDetailRow--group{
      align-items:flex-start;
      flex-direction:column;
      gap:4px;
    }

.orderItemDetailTree{
      display:flex;
      flex-direction:column;
      gap:4px;
      width:100%;
    }

.orderItemDetailEntry{
      width:100%;
    }

.orderItemDetailTreeChildren{
      display:flex;
      flex-direction:column;
      gap:4px;
      margin-left:14px;
      padding-left:10px;
      border-left:1px dashed rgba(17,18,24,.12);
    }

.orderItemDetailBadge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      min-height:18px;
      padding:0 8px;
      border-radius:999px;
      background:rgba(17,18,24,.06);
      color:rgba(17,18,24,.58);
      font-size:10px;
      line-height:1.6;
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
    }

.orderItemPremiumTag{
      align-self:flex-start;
      display:inline-flex;
      align-items:center;
      border:1px solid var(--plannerSuccessGlassBorder);
      background:var(--plannerSuccessGlassFill);
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      border-radius:999px;
      padding:4px 9px;
      font-size:10px;
      line-height:1.2;
      letter-spacing:.05em;
      font-weight:700;
      text-transform:uppercase;
    }

.orderItem--premium{
      opacity:0;
      transform:translateY(6px) scale(.985);
      animation:premiumRowSoftIn .52s cubic-bezier(.2,.72,.22,1) forwards;
      will-change:opacity, transform;
    }

.orderMergeFx{
      position:relative;
      display:flex;
      align-items:flex-start;
      gap:5px;
      min-height:20px;
      color:rgba(17,18,24,.62);
      font-size:11px;
      line-height:1.25;
      white-space:nowrap;
      overflow:hidden;
    }

.orderMergeStep{
      opacity:0;
      transform:translateY(4px);
      animation:mergeStepIn .46s ease-out both;
    }

.orderMergeStep--arms{
      animation:
        mergeStepIn .46s ease-out .06s both,
        mergeStepOut .34s ease-in 1.02s forwards;
    }

.orderMergeStep--legs{
      animation:
        mergeStepIn .46s ease-out .34s both,
        mergeStepOut .34s ease-in 1.20s forwards;
    }

.orderMergeStep--10{
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      font-weight:680;
      animation:
        mergeStepIn .42s ease-out 1.24s both,
        mergeStepOut .32s ease-in 2.42s forwards;
    }

.orderMergeStep--20{
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      font-weight:700;
      transform:translateX(20px) scale(.92);
      animation:
        mergeFlyStepIn .62s cubic-bezier(.18,.7,.22,1) 1.52s both,
        mergeStepOut .32s ease-in 2.58s forwards;
    }

.orderMergeStep--30{
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      font-weight:710;
      transform:translateX(24px) scale(.92);
      animation:
        mergeFlyStepIn .64s cubic-bezier(.18,.7,.22,1) 1.82s both,
        mergeStepOut .32s ease-in 2.72s forwards;
    }

.orderMergeTotal{
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      font-weight:760;
      opacity:0;
      transform:translateX(22px) scale(.9);
      animation:mergeTotalCharge .76s cubic-bezier(.14,.72,.22,1) 2.84s both;
    }

.orderMergeTotal--static{
      opacity:1;
      transform:none;
      animation:none;
    }

.orderItemPriceWrap{
      position:absolute;
      top:14px;
      right:0;
      text-align:right;
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      width:var(--plannerOrderPriceColWidth);
      min-width:var(--plannerOrderPriceColWidth);
      max-width:var(--plannerOrderPriceColWidth);
      gap:3px;
    }

.orderItemPriceLabel{
      white-space:nowrap;
      font-size:11px;
      line-height:1.2;
      color:rgba(17,18,24,.48);
      letter-spacing:.04em;
      font-weight:650;
      text-transform:uppercase;
      margin-bottom:3px;
    }

.orderItemPriceOld{
      white-space:nowrap;
      font-weight:500;
      font-size:12px;
      color:rgba(17,18,24,.52);
      text-decoration:line-through;
      letter-spacing:-.01em;
    }

.orderItemPriceLine{
      white-space:nowrap;
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      justify-content:flex-end;
      gap:2px;
    }

.orderItemPriceUnit{
      white-space:nowrap;
      font-weight:650;
      font-size:10px;
      line-height:1.1;
      color:rgba(17,18,24,.56);
      letter-spacing:-.01em;
    }

.orderItemPriceSub{
      white-space:nowrap;
      font-weight:650;
      font-size:11px;
      line-height:1.15;
      color:rgba(17,18,24,.58);
      letter-spacing:-.01em;
    }

.orderItemPriceEq{
      white-space:nowrap;
      font-weight:500;
      font-size:12px;
      color:rgba(17,18,24,.52);
      letter-spacing:-.01em;
    }

.orderItemPriceEqValue{
      text-decoration:line-through;
    }

.orderItemPriceOldLine{
      white-space:nowrap;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:4px;
    }

.orderItemPriceCalc{
      white-space:nowrap;
      font-size:11px;
      line-height:1.2;
      color:rgba(17,18,24,.55);
    }

.orderItemPrice{
      white-space:nowrap;
      font-weight:600;
      font-size:clamp(17px, 1.35vw, 26px);
      line-height:1.05;
      color:#111218;
      letter-spacing:-.02em;
    }

.orderItem--special-offer .orderItemPrice{
      color:var(--plannerSuccessGlass);
      font-size:clamp(18px, 1.45vw, 28px);
      font-weight:700;
    }

.orderEmpty{
      margin:18px 0 0;
      color:rgba(17,18,24,.56);
      font-size:14px;
      line-height:1.45;
    }

.plannerNextBenefit{
      grid-column:2;
      position:absolute;
      top:18px;
      left:18px;
      z-index:8;
      width:40px;
      margin:0;
      padding:0;
      transition:width .9s cubic-bezier(.2,.74,.24,1);
      border:none;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      display:none;
      opacity:1;
      will-change:width, opacity, transform;
    }

.plannerNextBenefit[hidden]{display:none}

.plannerNextBenefit.is-completion-fade{
      animation:plannerNextBenefitCompletionFade var(--planner-next-benefit-complete-duration, 1550ms) cubic-bezier(.18,.7,.22,1) both;
    }

.plannerNextBenefitProgressRow{
      display:block;
    }

.plannerNextBenefitBar{
      position:relative;
      width:100%;
      height:10px;
      border-radius:999px;
      background:rgba(17,18,24,.10);
      overflow:hidden;
      transform-origin:left center;
      will-change:transform, filter;
      transition:background-color .24s ease, opacity .24s ease;
    }

.plannerNextBenefitBar.is-forward-collapse{
      display:flex;
      justify-content:flex-end;
    }

.plannerNextBenefitBar.is-shell-pushing{
      background:rgba(17,18,24,.10) !important;
      animation:plannerNextBenefitShellPush .92s cubic-bezier(.22,.74,.24,1) both !important;
    }

.plannerNextBenefitBar.is-warning-backoff{
      animation:plannerNextBenefitShellBackoff 1s cubic-bezier(.24,.74,.22,1) both;
    }

.plannerNextBenefitBar.is-collapsing{
      background:transparent;
      opacity:0;
    }

.plannerNextBenefitBar.is-fill-collapsing{
      background:transparent;
    }

.plannerNextBenefitBarFill{
      display:block;
      height:100%;
      width:0%;
      border-radius:inherit;
      background:linear-gradient(90deg, #3ed97a 0%, #7cf2a6 100%);
      transition:width .88s cubic-bezier(.2,.74,.24,1);
      will-change:width, filter;
    }

.plannerNextBenefitBarFill.is-growing{
      animation:plannerNextBenefitGrowPulse .8s ease-out both;
    }

.plannerNextBenefitBarFill.is-shell-pushing{
      background:linear-gradient(90deg, #3ed97a 0%, #7cf2a6 100%) !important;
      animation:plannerNextBenefitFillPush .92s cubic-bezier(.22,.74,.24,1) both !important;
    }

.plannerNextBenefitBarFill.is-warning-backoff{
      animation:plannerNextBenefitFillBackoff 1s cubic-bezier(.24,.74,.22,1) both;
    }

.plannerNextBenefitBarFill.is-completion-fade{
      animation:plannerNextBenefitCompletionBlink var(--planner-next-benefit-complete-duration, 1550ms) cubic-bezier(.18,.7,.22,1) both;
    }

@keyframes plannerNextBenefitShellPush{
      0%{
        filter:brightness(1);
      }
      48%{
        filter:brightness(1.02);
      }
      78%{
        filter:brightness(1.005);
      }
      100%{
        filter:brightness(1);
      }
    }

@keyframes plannerNextBenefitFillPush{
      0%{
        filter:brightness(1);
      }
      48%{
        filter:brightness(1.08);
      }
      78%{
        filter:brightness(1.015);
      }
      100%{
        filter:brightness(1);
      }
    }

@keyframes plannerNextBenefitShellBackoff{
      0%{
        background:rgba(214,72,72,.16);
        filter:brightness(1);
      }
      28%{
        background:rgba(214,72,72,.22);
        filter:brightness(1.04);
      }
      58%{
        background:rgba(191,125,77,.16);
        filter:brightness(1.02);
      }
      100%{
        background:rgba(17,18,24,.10);
        filter:brightness(1);
      }
    }

@keyframes plannerNextBenefitFillBackoff{
      0%{
        background:linear-gradient(90deg, #d64848 0%, #ff8d8d 100%);
        filter:brightness(1.04);
        box-shadow:0 0 0 rgba(214,72,72,0);
      }
      30%{
        background:linear-gradient(90deg, #d64848 0%, #ff9d76 100%);
        filter:brightness(1.08);
        box-shadow:0 0 10px rgba(214,72,72,.26);
      }
      64%{
        background:linear-gradient(90deg, #a57b3d 0%, #7fc964 100%);
        filter:brightness(1.04);
        box-shadow:0 0 6px rgba(127,201,100,.18);
      }
      100%{
        background:linear-gradient(90deg, #3ed97a 0%, #7cf2a6 100%);
        filter:brightness(1);
        box-shadow:0 0 0 rgba(66,205,114,0);
      }
    }

@keyframes plannerNextBenefitGrowPulse{
      0%{
        filter:brightness(1);
        box-shadow:0 0 0 rgba(66,205,114,0);
      }
      35%{
        filter:brightness(1.18);
        box-shadow:0 0 10px rgba(66,205,114,.38);
      }
      100%{
        filter:brightness(1);
        box-shadow:0 0 0 rgba(66,205,114,0);
      }
    }

@keyframes plannerNextBenefitCompletionFade{
      0%{
        opacity:1;
      }
      10%{
        opacity:1;
      }
      18%{
        opacity:.38;
      }
      28%{
        opacity:1;
      }
      42%{
        opacity:.52;
      }
      56%{
        opacity:1;
      }
      74%{
        opacity:.74;
      }
      100%{
        opacity:0;
      }
    }

@keyframes plannerNextBenefitCompletionBlink{
      0%{
        filter:brightness(1);
        box-shadow:0 0 0 rgba(66,205,114,0);
      }
      12%{
        filter:brightness(1.3) saturate(1.08);
        box-shadow:0 0 14px rgba(66,205,114,.46);
      }
      20%{
        filter:brightness(.82) saturate(.94);
        box-shadow:0 0 1px rgba(66,205,114,.05);
      }
      32%{
        filter:brightness(1.26) saturate(1.06);
        box-shadow:0 0 12px rgba(66,205,114,.36);
      }
      44%{
        filter:brightness(.88) saturate(.96);
        box-shadow:0 0 1px rgba(66,205,114,.04);
      }
      58%{
        filter:brightness(1.18) saturate(1.03);
        box-shadow:0 0 8px rgba(66,205,114,.24);
      }
      72%{
        filter:brightness(.96) saturate(.98);
        box-shadow:0 0 1px rgba(66,205,114,.03);
      }
      100%{
        filter:brightness(1);
        box-shadow:0 0 0 rgba(66,205,114,0);
      }
    }

.orderSummary{
      margin-top:auto;
      padding-top:16px;
      border-top:1px solid rgba(0,0,0,.1);
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:10px;
    }

.orderTaxNote{
      margin:8px 0 0;
      font-size:12px;
      line-height:1.45;
      color:rgba(17,18,24,.58);
    }

.orderSummarySave{
      display:flex;
      margin-top:8px;
    }

.plannerHead{
      --plannerFormatWidth:92px;
      position:relative;
      display:block;
      min-height:34px;
    }

.plannerHead:has(.plannerFormat:not([hidden])){
      min-height:34px;
    }

.plannerHead .plannerTitle{
      margin:0;
      max-width:calc(100% - var(--plannerFormatWidth) - 8px);
      padding-right:0;
      white-space:nowrap;
    }

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

.plannerFormat{
      position:absolute;
      top:50%;
      right:0;
      display:block;
      width:var(--plannerFormatWidth) !important;
      flex:0 0 var(--plannerFormatWidth) !important;
      min-width:0;
      max-width:300px;
      min-height:0;
      margin-top:0;
      margin-right:0;
      margin-left:0;
      padding-top:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      overflow:visible;
      transform:translateY(-50%);
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }

.plannerFormat[hidden]{
      display:none;
    }

.plannerFormatSelect{
      width:100%;
      max-width:300px;
      height:34px;
      min-height:34px;
      border:1px solid rgba(255,255,255,.84);
      border-radius:999px;
      background:rgba(255,255,255,.94);
      color:#6f5148;
      font-family:inherit;
      font-size:12px;
      font-weight:700;
      line-height:1;
      letter-spacing:0;
      outline:none;
      padding:0 24px 0 14px;
      cursor:pointer;
      appearance:none;
      -webkit-appearance:none;
      background-image:linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
      background-position:calc(100% - 16px) 14px, calc(100% - 10px) 14px;
      background-size:6px 6px, 6px 6px;
      background-repeat:no-repeat;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 10px 22px rgba(8,10,14,.10);
    }

.plannerFormatSelect option{
      color:#111218;
      background:#fff;
      font-size:13px;
    }

.plannerFormatSelect:focus-visible{
      border-color:#fff;
      box-shadow:0 0 0 2px rgba(255,255,255,.26), inset 0 1px 0 rgba(255,255,255,.85), 0 10px 22px rgba(8,10,14,.10);
    }

.plannerFormatLabel{
      display:none;
      font-size:14px;
      line-height:1.3;
      color:rgba(17,18,24,.68);
      font-weight:520;
    }

.plannerFormatOption{
      position:relative;
      z-index:1;
      height:14px;
      min-height:14px;
      margin-top:0;
      width:100%;
      border:1px solid rgba(255,255,255,.16);
      border-radius:5px;
      background:rgba(255,255,255,.06);
      box-shadow:none;
      color:#111218;
      cursor:pointer;
      font-family:inherit;
      font-size:8.5px;
      font-weight:680;
      line-height:1.12;
      letter-spacing:0;
      padding:0 2px;
      text-align:center;
      transition:background .18s ease, border-color .18s ease, transform .18s ease;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }

.plannerFormatOptionLabel{
      display:block;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:normal;
    }

.plannerFormatOptionPrice{
      display:none;
    }

.plannerFormatOption:hover,
    .plannerFormatOption.is-active{
      background:rgba(255,255,255,.13);
    }

.plannerFormatOption.is-active{
      color:#111218;
      font-weight:720;
      border-color:rgba(255,255,255,.32);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 8px 20px rgba(8,10,14,.06);
    }

.plannerFormatOption:focus{
      outline:none;
    }

.plannerFormatOption:focus-visible{
      border-color:rgba(255,255,255,.42);
      box-shadow:0 0 0 2px rgba(255,255,255,.12), inset 0 1px 0 rgba(255,255,255,.16);
    }

.plannerPaymentSwitch{
      position:relative;
      width:42px;
      height:24px;
      flex:0 0 auto;
    }

.plannerPaymentSwitch input{
      opacity:0;
      width:0;
      height:0;
      position:absolute;
    }

.plannerPaymentSwitchTrack{
      position:absolute;
      inset:0;
      border-radius:999px;
      background:rgba(17,18,24,.2);
      transition:background-color .22s ease, opacity .22s ease;
      cursor:pointer;
    }

.plannerPaymentSwitchTrack::before{
      content:"";
      position:absolute;
      left:2px;
      top:2px;
      width:20px;
      height:20px;
      border-radius:50%;
      background:#fff;
      box-shadow:0 1px 3px rgba(0,0,0,.2);
      transition:transform .22s cubic-bezier(.2,.85,.2,1);
    }

.plannerPaymentSwitch input:checked + .plannerPaymentSwitchTrack{
      background:#111218;
    }

.plannerPaymentSwitch input:checked + .plannerPaymentSwitchTrack::before{
      transform:translateX(18px);
    }

.plannerPaymentSwitch input:disabled + .plannerPaymentSwitchTrack{
      opacity:1;
      background:rgba(17,18,24,.12);
      cursor:not-allowed;
    }

.plannerPaymentSwitch input:disabled + .plannerPaymentSwitchTrack::before{
      background:#fff;
      box-shadow:0 1px 3px rgba(0,0,0,.18);
    }

.plannerPaymentSwitch input:checked:disabled + .plannerPaymentSwitchTrack{
      background:rgba(17,18,24,.82);
    }

.plannerCourseHint{
      margin:10px 0 0;
      font-size:12px;
      line-height:1.35;
      color:rgba(17,18,24,.62);
    }

.plannerMembershipConsent{
      margin:12px 0 0;
      padding:0;
      border:0;
      border-radius:10px;
      background:transparent;
      color:rgba(17,18,24,.78);
    }

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

.plannerMembershipConsentRow{
      display:block;
    }

.plannerMembershipConsentText{
      font-size:12px;
      line-height:1.38;
    }

.plannerMembershipTermsOpen{
      display:inline;
      border:0;
      padding:0;
      background:transparent;
      color:inherit;
      font:inherit;
      text-align:left;
      text-decoration:underline;
      text-decoration-thickness:1px;
      text-underline-offset:3px;
      cursor:pointer;
    }

.plannerMembershipTermsOpen:hover,
    .plannerMembershipTermsOpen:focus-visible{
      text-decoration-thickness:1.5px;
    }

.plannerMembershipTermsOpen::before{
      content:"§";
      display:inline-block;
      margin-right:6px;
      font-size:12px;
      line-height:1;
      font-weight:500;
      text-decoration:none;
      text-decoration-line:none;
      vertical-align:-1px;
      color:rgba(255,255,255,.78);
    }

.plannerMembershipConsent.is-accepted .plannerMembershipTermsOpen{
      color:var(--plannerSuccessGlass);
      text-decoration-color:rgba(103,239,157,.52);
      text-shadow:var(--plannerSuccessGlassGlow);
    }

.plannerMembershipConsent.is-accepted .plannerMembershipTermsOpen::before{
      content:"✓";
      font-weight:800;
      color:var(--plannerSuccessGlass);
    }

.plannerMembershipConsent.is-required .plannerMembershipTermsOpen{
      color:#FFE44D;
      text-decoration-color:rgba(255,228,77,.72);
      text-shadow:0 0 10px rgba(255,228,77,.16);
    }

.plannerMembershipConsent.is-required .plannerMembershipTermsOpen::before{
      content:"×";
      font-weight:800;
      color:#FFE44D;
    }

.plannerMembershipConsentError{
      margin:7px 0 0 24px;
      color:#fff;
      font-size:12px;
      line-height:1.35;
      font-weight:700;
    }

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

.plannerMembershipConsent.is-attention{
      animation:plannerMembershipConsentAttention .72s ease both;
    }

.plannerMembershipConsent.is-accepted-attention{
      animation:plannerMembershipConsentAcceptedAttention .72s ease both;
    }

@keyframes plannerMembershipConsentAttention{
      0%,100%{box-shadow:none}
      35%{box-shadow:0 0 0 4px rgba(255,255,255,.22)}
    }

@keyframes plannerMembershipConsentAcceptedAttention{
      0%,100%{box-shadow:none}
      35%{box-shadow:0 0 0 4px rgba(103,239,157,.28), 0 0 18px rgba(103,239,157,.16)}
    }

.plannerMembershipTermsView{
      display:none;
      min-height:0;
      flex:1 1 auto;
      flex-direction:column;
      gap:16px;
      color:rgba(17,18,24,.84);
    }

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

.plannerPane.is-membership-terms-open > :not(.plannerMembershipTermsView){
      display:none !important;
    }

.plannerPane.is-membership-terms-open > .plannerMembershipTermsView{
      display:flex;
    }

.plannerMembershipTermsHeader{
      position:relative;
      padding-right:64px;
    }

.plannerMembershipTermsHeader h3{
      margin:0;
      max-width:100%;
      overflow-wrap:anywhere;
      word-break:normal;
      hyphens:auto;
      font-size:22px;
      line-height:1.12;
      letter-spacing:0;
      font-weight:760;
    }

.plannerMembershipTermsHeader p{
      margin:8px 0 0;
      font-size:12px;
      line-height:1.4;
      color:rgba(17,18,24,.58);
    }

.plannerMembershipTermsSolidToggle{
      position:absolute;
      top:0;
      right:0;
      width:40px;
      height:40px;
      border-radius:999px;
      border:1px solid rgba(17,18,24,.14);
      background:rgba(255,255,255,.78);
      color:rgba(17,18,24,.82);
      font-size:13px;
      font-weight:800;
      line-height:1;
      cursor:pointer;
    }

.plannerMembershipTermsSolidToggle:hover,
    .plannerMembershipTermsSolidToggle:focus-visible{
      background:rgba(255,255,255,.94);
      border-color:rgba(17,18,24,.22);
    }

.plannerPane.is-membership-terms-solid:not(.plannerPane--zones),
    .thermoPlannerBackdropShell .plannerPane.is-membership-terms-solid:not(.plannerPane--zones),
    html.planner-embed .plannerPane.is-membership-terms-solid:not(.plannerPane--zones){
      background:#f7f2ec !important;
      border-color:rgba(42,35,30,.12) !important;
      color:#24211e !important;
      backdrop-filter:none !important;
      -webkit-backdrop-filter:none !important;
    }

.plannerPane.is-membership-terms-solid .plannerMembershipTermsView,
    .thermoPlannerBackdropShell .plannerPane.is-membership-terms-solid .plannerMembershipTermsView,
    html.planner-embed .plannerPane.is-membership-terms-solid .plannerMembershipTermsView{
      color:#24211e;
    }

.plannerPane.is-membership-terms-solid .plannerMembershipTermsHeader p,
    .plannerPane.is-membership-terms-solid .plannerMembershipTermsBody,
    .thermoPlannerBackdropShell .plannerPane.is-membership-terms-solid .plannerMembershipTermsHeader p,
    .thermoPlannerBackdropShell .plannerPane.is-membership-terms-solid .plannerMembershipTermsBody,
    html.planner-embed .plannerPane.is-membership-terms-solid .plannerMembershipTermsHeader p,
    html.planner-embed .plannerPane.is-membership-terms-solid .plannerMembershipTermsBody{
      color:rgba(36,33,30,.78);
    }

.plannerPane.is-membership-terms-solid .plannerMembershipTermsSolidToggle,
    .thermoPlannerBackdropShell .plannerPane.is-membership-terms-solid .plannerMembershipTermsSolidToggle,
    html.planner-embed .plannerPane.is-membership-terms-solid .plannerMembershipTermsSolidToggle{
      background:rgba(255,255,255,.72);
      border-color:rgba(42,35,30,.14);
      color:#24211e;
    }

.plannerPane.is-membership-terms-solid .plannerMembershipTermsBtn,
    .thermoPlannerBackdropShell .plannerPane.is-membership-terms-solid .plannerMembershipTermsBtn,
    html.planner-embed .plannerPane.is-membership-terms-solid .plannerMembershipTermsBtn{
      background:rgba(255,255,255,.72);
      border-color:rgba(42,35,30,.14);
      color:#24211e;
    }

.plannerPane.is-membership-terms-solid .plannerMembershipTermsBtn--agree,
    .thermoPlannerBackdropShell .plannerPane.is-membership-terms-solid .plannerMembershipTermsBtn--agree,
    html.planner-embed .plannerPane.is-membership-terms-solid .plannerMembershipTermsBtn--agree{
      border-color:rgba(17,18,24,.08);
      background:linear-gradient(180deg, #5f554d 0%, #463d36 100%);
      color:#fffaf5;
    }

.plannerMembershipTermsBody{
      flex:1 1 auto;
      min-height:0;
      overflow:auto;
      padding:0 10px 0 0;
      font-size:13px;
      line-height:1.58;
      color:rgba(17,18,24,.76);
      -webkit-overflow-scrolling:touch;
    }

.plannerMembershipTermsBody h2{
      margin:0 0 14px;
      font-size:20px;
      line-height:1.18;
      letter-spacing:0;
    }

.plannerMembershipTermsBody h3{
      margin:22px 0 8px;
      font-size:15px;
      line-height:1.3;
      letter-spacing:0;
    }

.plannerMembershipTermsBody p{
      margin:0 0 10px;
    }

.plannerMembershipTermsBody ul{
      margin:0 0 10px 18px;
      padding:0;
    }

.plannerMembershipTermsActions{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:10px;
      flex:0 0 auto;
    }

.plannerMembershipTermsBtn{
      min-height:44px;
      border-radius:999px;
      border:1px solid rgba(17,18,24,.14);
      background:rgba(255,255,255,.78);
      color:rgba(17,18,24,.82);
      font-size:13px;
      font-weight:720;
      cursor:pointer;
    }

.plannerMembershipTermsBtn--agree{
      border-color:rgba(255,255,255,.35);
      background:linear-gradient(180deg, #a88d75 0%, #8f7661 100%);
      color:#fff;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 12px 26px rgba(57,38,24,.18);
    }

.orderPremiumBadge{
      margin-top:0;
      align-self:auto;
      border:1px solid var(--plannerSuccessGlassBorder);
      background:var(--plannerSuccessGlassFill);
      color:var(--plannerSuccessGlass);
      text-shadow:var(--plannerSuccessGlassGlow);
      border-radius:999px;
      padding:6px 12px;
      font-size:12px;
      line-height:1.2;
      letter-spacing:.02em;
      font-weight:700;
      text-transform:uppercase;
      animation:premiumStampIn .34s ease-out both;
    }

.orderTotalLabel{
      font-size:14px;
      line-height:1.3;
      color:rgba(17,18,24,.64);
    }

.orderTotalValue{
      display:inline-block;
      font-size:32px;
      line-height:1;
      letter-spacing:-.03em;
      font-weight:760;
      color:#111218;
      transform-origin:50% 62%;
      will-change:transform, opacity, filter;
    }

.orderTotalValue.is-flip{
      animation:orderTotalFlip .46s cubic-bezier(.22,.72,.2,1) both;
    }

.orderActions{
      margin-top:12px;
      display:flex;
      justify-content:flex-end;
      gap:14px;
    }

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

.plannerCtaRow{
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(2, minmax(126px, 160px));
      justify-content:end;
      gap:10px;
    }

.plannerCtaBtn{
      width:100%;
      min-width:0;
      min-height:44px;
      height:44px;
      padding:0 16px;
      font-size:13px;
      line-height:1.1;
      white-space:nowrap;
      text-align:center;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
    }

.plannerCtaBtnIcon{
      width:17px;
      height:17px;
      flex:0 0 auto;
    }

.plannerCtaBtn--buy{
      background:linear-gradient(180deg, #a88d75 0%, #8f7661 100%);
      border-color:rgba(255,255,255,.35);
      color:#fff;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 12px 26px rgba(57,38,24,.18);
    }

.plannerCtaBtn[aria-busy="true"]{
      opacity:.68;
      pointer-events:none;
    }

.plannerCtaBtn[aria-disabled="true"]{
      opacity:.48;
      cursor:default;
      filter:saturate(.72);
      pointer-events:none;
    }

.orderClearBtn{
      border:none;
      background:transparent;
      color:rgba(17,18,24,.56);
      font-size:13px;
      cursor:pointer;
      padding:0;
      text-decoration:underline;
      text-underline-offset:2px;
      transition:color .22s ease, transform .22s ease, text-shadow .22s ease;
    }

.orderClearBtn:hover{color:#111218}

.orderClearBtn.is-copied{
      color:#111218;
      animation:orderCopyPulse .55s cubic-bezier(.2,.85,.2,1);
      text-shadow:0 0 10px rgba(17,18,24,.16);
    }

@keyframes orderCopyPulse{
      0%{ transform:translateY(0) scale(1); }
      35%{ transform:translateY(-1px) scale(1.07); }
      100%{ transform:translateY(0) scale(1); }
    }

.thermoPlannerBackdropShell{
      position:relative;
      width:100vw;
      max-width:none;
      margin-left:calc(50% - 50vw);
      margin-right:calc(50% - 50vw);
      isolation:isolate;
      overflow:hidden;
      background:#000;
    }

.thermoPlannerBackdropMedia{
      position:absolute;
      inset:0;
      z-index:0;
      overflow:hidden;
      pointer-events:none;
      background:#000;
    }

.thermoPlannerBackdropVideo{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      pointer-events:none;
      filter:saturate(150%) blur(26px);
      -webkit-filter:saturate(150%) blur(26px);
      transform:scale(1.06);
      transform-origin:center center;
    }

.thermoPlannerBackdropMedia::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      background:linear-gradient(180deg, rgba(5,12,9,.24) 0%, rgba(5,12,9,.34) 48%, rgba(5,12,9,.54) 100%);
      pointer-events:none;
    }

.thermoPlannerBackdropMedia::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      background:linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.10) 50%, rgba(0,0,0,.28) 100%);
      pointer-events:none;
    }

html.planner-backdrop-capture,
    html.planner-backdrop-capture body{
      background:#141822;
    }

html.planner-backdrop-capture .thermoPlannerBackdropShell{
      min-height:100svh;
    }

html.planner-backdrop-capture .thermoPlannerBackdropShell > .section,
    html.planner-backdrop-capture footer{
      display:none !important;
    }

.thermoPlannerBackdropShell::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      background:rgba(32,24,18,.18);
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      pointer-events:none;
    }

.thermoPlannerBackdropShell::after{
      content:none;
      position:absolute;
      inset:0;
      z-index:0;
      background:none;
      pointer-events:none;
    }

.thermoPlannerBackdropShell > .section{
      position:relative;
      z-index:2;
    }

.thermoPlannerBackdropShell .thermoSwitchWrap,
    .thermoPlannerBackdropShell .thermoPlanner{
      max-width:1120px;
      margin-left:auto;
      margin-right:auto;
    }

.thermoPlannerBackdropShell .thermoSwitchPanel,
    .thermoPlannerBackdropShell .thermoSwitchPanel--spacer{
      background:transparent;
    }

.thermoPlannerBackdropShell .thermoSwitchBtn{
      color:rgba(255,255,255,.72);
      text-shadow:0 10px 24px rgba(0,0,0,.24);
    }

.thermoPlannerBackdropShell .thermoSwitchBtn::after{
      background:#fff;
    }

.thermoPlannerBackdropShell .thermoSwitchBtn:hover,
    .thermoPlannerBackdropShell .thermoSwitchBtn.is-active{
      color:#fff;
    }

.thermoPlannerBackdropShell .thermoSwitchTitle{
      color:#fff;
    }

.thermoPlannerBackdropShell .thermoSwitchHint{
      color:rgba(255,255,255,.72);
    }

.thermoPlannerBackdropShell .plannerPane{
      background:transparent;
      border:none;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      color:rgba(255,255,255,.88);
    }

.thermoPlannerBackdropShell .plannerPane:not(.plannerPane--zones),
    html.planner-embed .plannerPane:not(.plannerPane--zones){
      position:relative;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.18);
      border-radius:32px;
      box-shadow:0 12px 28px rgba(8,10,14,.12), inset 0 1px 0 rgba(255,255,255,.16);
      backdrop-filter:saturate(170%) blur(16px);
      -webkit-backdrop-filter:saturate(170%) blur(16px);
      overflow:hidden;
    }

.thermoPlannerBackdropShell .plannerPane:not(.plannerPane--zones)::before,
    html.planner-embed .plannerPane:not(.plannerPane--zones)::before{
      content:none;
    }

.thermoPlannerBackdropShell .plannerPane:not(.plannerPane--zones)::after,
    html.planner-embed .plannerPane:not(.plannerPane--zones)::after{
      content:none;
    }

.thermoPlannerBackdropShell .plannerPane:not(.plannerPane--zones) > *,
    html.planner-embed .plannerPane:not(.plannerPane--zones) > *{
      position:static;
      z-index:auto;
    }

.thermoPlannerBackdropShell .plannerPane:not(.plannerPane--zones) > .plannerHead,
    html.planner-embed .plannerPane:not(.plannerPane--zones) > .plannerHead{
      position:relative;
    }

.thermoPlannerBackdropShell .plannerPane:not(.plannerPane--zones){
      align-self:stretch;
      height:min(84vh, 900px);
      max-height:min(84vh, 900px);
    }

.thermoPlannerBackdropShell .plannerPane--zones{
      background:transparent;
      border:none;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }

.thermoPlannerBackdropShell .plannerFigureWrap{
      border-radius:0;
      background:transparent;
      border:none;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      padding:0;
    }

.thermoPlannerBackdropShell .plannerMobileInfo.is-empty{
      display:none;
    }

.thermoPlannerBackdropShell .plannerMobileInfoZones,
    .thermoPlannerBackdropShell .plannerMobileInfoPrice{
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.16);
      border-radius:18px;
      backdrop-filter:saturate(150%) blur(14px);
      -webkit-backdrop-filter:saturate(150%) blur(14px);
      box-shadow:0 14px 28px rgba(8,10,14,.12);
    }

.thermoPlannerBackdropShell .plannerMobileInfoZones{
      padding:10px 12px;
    }

.thermoPlannerBackdropShell .plannerMobileInfoPrice{
      padding:8px 12px;
      width:auto;
      min-width:6ch;
    }

.thermoPlannerBackdropShell .plannerHead,
    .thermoPlannerBackdropShell .orderSummary{
      border-color:rgba(255,255,255,.14);
    }

.thermoPlannerBackdropShell .plannerPaymentSwitchTrack{
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
    }

.thermoPlannerBackdropShell .plannerPaymentSwitch input:checked + .plannerPaymentSwitchTrack{
      background:rgba(255,255,255,.22);
    }

.thermoPlannerBackdropShell .plannerPaymentSwitch input:disabled + .plannerPaymentSwitchTrack{
      background:rgba(255,255,255,.08);
    }

.thermoPlannerBackdropShell .plannerPaymentSwitch input:checked:disabled + .plannerPaymentSwitchTrack{
      background:rgba(255,255,255,.16);
    }

.thermoPlannerBackdropShell .plannerPaymentSwitchTrack::before{
      background:rgba(255,255,255,.96);
      box-shadow:0 8px 20px rgba(8,10,14,.18);
    }

.thermoPlannerBackdropShell .plannerMembershipConsent,
    html.planner-embed .plannerMembershipConsent{
      background:transparent;
      border:0;
      color:rgba(255,255,255,.84);
    }

.thermoPlannerBackdropShell .plannerMembershipTermsOpen,
    html.planner-embed .plannerMembershipTermsOpen{
      text-decoration-color:rgba(255,255,255,.46);
    }

.thermoPlannerBackdropShell .plannerMembershipConsent.is-accepted .plannerMembershipTermsOpen,
    html.planner-embed .plannerMembershipConsent.is-accepted .plannerMembershipTermsOpen{
      color:var(--plannerSuccessGlass);
      text-decoration-color:rgba(103,239,157,.58);
      text-shadow:var(--plannerSuccessGlassGlow);
    }

.thermoPlannerBackdropShell .plannerMembershipConsent.is-required .plannerMembershipTermsOpen,
    html.planner-embed .plannerMembershipConsent.is-required .plannerMembershipTermsOpen{
      color:#FFE44D;
      text-decoration-color:rgba(255,228,77,.78);
    }

.thermoPlannerBackdropShell .plannerMembershipConsentError,
    html.planner-embed .plannerMembershipConsentError{
      color:#fff;
    }

.thermoPlannerBackdropShell .plannerMembershipTermsView,
    html.planner-embed .plannerMembershipTermsView{
      color:rgba(255,255,255,.88);
    }

.thermoPlannerBackdropShell .plannerMembershipTermsHeader p,
    html.planner-embed .plannerMembershipTermsHeader p,
    .thermoPlannerBackdropShell .plannerMembershipTermsBody,
    html.planner-embed .plannerMembershipTermsBody{
      color:rgba(255,255,255,.74);
    }

.thermoPlannerBackdropShell .plannerMembershipTermsBtn,
    html.planner-embed .plannerMembershipTermsBtn{
      background:rgba(255,255,255,.14);
      border-color:rgba(255,255,255,.20);
      color:rgba(255,255,255,.88);
    }

.thermoPlannerBackdropShell .plannerMembershipTermsBtn--agree,
    html.planner-embed .plannerMembershipTermsBtn--agree{
      background:linear-gradient(180deg, #a88d75 0%, #8f7661 100%);
      color:#fff;
    }

.thermoPlannerBackdropShell .plannerFormatLabel,
    .thermoPlannerBackdropShell .plannerFormatOption{
      color:rgba(255,255,255,.78);
    }

.thermoPlannerBackdropShell :is(
      .plannerTitle,
      .plannerSub,
      .orderEmpty,
      .plannerCourseHint,
      .orderTotalLabel,
      .orderTotalValue,
      .orderTaxNote,
      .orderClearBtn,
      .orderItemName,
      .orderItemMeta,
      .orderItemPromoNote,
      .orderItemSave,
      .orderItemDetailName,
      .orderItemDetailPrice,
      .orderItemDetailBadge,
      .orderPremiumBadge,
      .orderItemPremiumTag,
      .orderItemPriceLabel,
      .orderItemPriceOld,
      .orderItemPriceUnit,
      .orderItemPriceSub,
      .orderItemPriceEq,
      .orderItemPriceCalc,
      .orderItemPrice,
      .orderMergeFx,
      .orderMergeStep,
      .orderMergeTotal,
      .plannerMobileInfoZoneRow,
      .plannerMobileInfoZoneDetailName,
      .plannerMobileInfoZoneDetailPrice,
      .plannerMobileInfoPriceOld,
      .plannerMobileInfoPriceCurrent,
      .plannerMobileInfoSaved
    ){
      color:rgba(255,255,255,.82);
    }

.thermoPlannerBackdropShell .plannerTitle,
    .thermoPlannerBackdropShell .orderTotalValue,
    .thermoPlannerBackdropShell .orderItemName{
      color:#fff;
      text-shadow:none;
    }

.thermoPlannerBackdropShell .orderItem{
      border-bottom-color:rgba(255,255,255,.14);
    }

.thermoPlannerBackdropShell .orderItem--set-active{
      border-bottom-color:rgba(255,255,255,.14);
    }

.thermoPlannerBackdropShell .orderItemDetails{
      border-top-color:rgba(255,255,255,.14);
    }

.thermoPlannerBackdropShell .orderItemDetailTreeChildren{
      border-left-color:rgba(255,255,255,.14);
    }

.thermoPlannerBackdropShell .orderItemDetailBadge{
      background:rgba(255,255,255,.10);
      color:rgba(255,255,255,.72);
    }

.thermoPlannerBackdropShell .orderPremiumBadge,
    .thermoPlannerBackdropShell .orderItemPremiumTag{
      border-color:rgba(255,255,255,.16);
      background:rgba(255,255,255,.10);
      color:#fff;
    }

.thermoPlannerBackdropShell .orderItemSaveHintBtn,
    .thermoPlannerBackdropShell .orderItemSaveHintBtn:hover,
    .thermoPlannerBackdropShell .orderItemSaveHintBtn.is-open{
      color:rgba(255,255,255,.78);
    }

.thermoPlannerBackdropShell .orderItemSave,
    .thermoPlannerBackdropShell .plannerMobileInfoSaved{
      color:var(--plannerSuccessGlass);
      text-shadow:none;
    }

.thermoPlannerBackdropShell .plannerMobileInfo.is-completion-promo-price-green .plannerMobileInfoPriceCurrent{
      color:var(--plannerSuccessGlass);
      text-shadow:none;
      font-size:18px;
      font-weight:700;
    }

.thermoPlannerBackdropShell .plannerMobileInfo.is-completion-promo-price-green .plannerMobileInfoSaved{
      color:var(--plannerSuccessGlass);
      text-shadow:none;
    }

.thermoPlannerBackdropShell .orderItem--special-offer .orderItemMeta,
    .thermoPlannerBackdropShell .orderItem--special-offer .orderItemPromoNote,
    .thermoPlannerBackdropShell .orderItem--special-offer .orderItemSave,
    .thermoPlannerBackdropShell .orderItem--special-offer .orderItemPrice{
      color:var(--plannerSuccessGlass);
      text-shadow:none;
    }

.thermoPlannerBackdropShell .orderItem--special-offer .orderItemPrice{
      font-size:18px;
      font-weight:700;
    }

.thermoPlannerBackdropShell .plannerSetAddBtn{
      background:rgba(255,255,255,.10);
      color:#fff;
      border:1px solid rgba(255,255,255,.18);
      backdrop-filter:saturate(150%) blur(12px);
      -webkit-backdrop-filter:saturate(150%) blur(12px);
    }

.thermoPlannerBackdropShell .plannerSetAddBtn:hover{
      background:rgba(255,255,255,.18);
    }

.thermoPlannerBackdropShell .plannerViewBtn{
      background:rgba(255,255,255,.34);
    }

.thermoPlannerBackdropShell .plannerViewBtn:hover{
      background:rgba(255,255,255,.58);
    }

.thermoPlannerBackdropShell .plannerViewBtn.is-active{
      background:#fff;
    }

.thermoPlannerBackdropShell .plannerViewControls{
      width:max-content;
      margin:10px auto 0;
      position:static;
    }

.thermoPlannerBackdropShell .plannerViewSwitch{
      position:relative;
      z-index:2;
    }

.thermoPlannerBackdropShell .plannerViewArrow{
      position:absolute;
      top:calc(50% - 30px);
      transform:translateY(-50%);
      width:46px;
      height:46px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.10);
      color:#fff;
      text-shadow:none;
      box-shadow:0 12px 28px rgba(8,10,14,.14);
      backdrop-filter:saturate(150%) blur(12px);
      -webkit-backdrop-filter:saturate(150%) blur(12px);
      z-index:7;
    }

.thermoPlannerBackdropShell .plannerViewArrow--prev{
      left:10px;
    }

.thermoPlannerBackdropShell .plannerViewArrow--next{
      right:10px;
    }

.thermoPlannerBackdropShell .plannerViewArrow:hover,
    .thermoPlannerBackdropShell .plannerViewArrow:focus,
    .thermoPlannerBackdropShell .plannerViewArrow:focus-visible,
    .thermoPlannerBackdropShell .plannerViewArrow:active{
      color:#fff;
      background:rgba(255,255,255,.18);
      transform:translateY(-50%) scale(1.06);
    }

.thermoPlannerBackdropShell .plannerViewArrow:active{
      transform:translateY(-50%) scale(.98);
    }

.thermoPlannerBackdropShell .plannerViewArrow:disabled{
      background:rgba(255,255,255,.06);
      transform:translateY(-50%);
    }

.thermoPlannerBackdropShell .plannerCtaRow .btn{
      background:rgba(255,255,255,.10);
      border-color:rgba(255,255,255,.18);
      color:#fff;
      backdrop-filter:saturate(150%) blur(12px);
      -webkit-backdrop-filter:saturate(150%) blur(12px);
    }

.thermoPlannerBackdropShell .plannerCtaRow .btn:hover{
      background:rgba(255,255,255,.18);
    }

.thermoPlannerBackdropShell .orderClearBtn:hover,
    .thermoPlannerBackdropShell .orderClearBtn.is-copied{
      color:#fff;
    }

.thermoPlannerBackdropShell .orderClearBtn.is-copied{
      text-shadow:0 0 10px rgba(255,255,255,.16);
    }

.thermoSwitchSection{
      padding:12px 0 10px;
    }

.thermoSwitchWrap{
      position:relative;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
      width:100%;
      max-width:none;
      min-height:0;
      gap:0;
      padding:0;
      border-radius:0;
      background:transparent;
      border:none;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }

.thermoSwitchIntro{
      display:grid;
      gap:0;
      justify-items:start;
      width:auto;
      text-align:left;
    }

.thermoSwitchTitle{
      margin:0;
      max-width:none;
      color:#111218;
    }

.thermoSwitchPanel{
      display:flex;
      justify-content:center;
      width:100%;
      padding:calc(var(--sectionSpaceCompact) - 2px) 0 0;
      background:#fff;
    }

.thermoSwitchPanel--spacer{
      display:block;
      padding:0;
      min-height:clamp(18px, 2.6vw, 30px);
      background:#fff;
    }

.thermoSwitch{
      display:inline-flex;
      align-items:flex-end;
      position:static;
      left:auto;
      bottom:auto;
      transform:none;
      gap:28px;
      padding:0;
      border-radius:0;
      background:transparent;
      border:none;
      box-shadow:none;
    }

.thermoSwitchBtn{
      position:relative;
      min-width:0;
      border:none;
      border-radius:0;
      padding:8px 0 12px;
      font-size:16px;
      font-weight:650;
      letter-spacing:-.01em;
      background:transparent;
      color:rgba(17,18,24,.66);
      cursor:pointer;
      text-decoration:none;
      text-align:center;
      transition:color .18s ease;
      -webkit-tap-highlight-color:transparent;
      touch-action:manipulation;
      user-select:none;
    }

.thermoSwitchBtn::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:2px;
      border-radius:999px;
      background:#111218;
      opacity:0;
      transform:scaleX(.42);
      transform-origin:center;
      transition:opacity .18s ease, transform .18s ease;
    }

.thermoSwitchBtn:hover{
      color:#111218;
      background:transparent;
    }

.thermoSwitchBtn:hover::after{
      opacity:.34;
      transform:scaleX(.82);
    }

.thermoSwitchBtn.is-active{
      color:#111218;
      background:transparent;
      box-shadow:none;
    }

.thermoSwitchBtn.is-active::after{
      opacity:1;
      transform:scaleX(1);
    }

.plannerEmbedOpenPage{
      display:none;
    }

.plannerEmbedHeadActions,
    .plannerEmbedClose{
      display:none;
    }

.thermoPlannerBackdropShell .thermoSwitchBtn,
    html.planner-embed .thermoSwitchBtn{
      color:rgba(255,255,255,.72);
      text-shadow:0 10px 24px rgba(0,0,0,.24);
    }

.thermoPlannerBackdropShell .thermoSwitchBtn:hover,
    .thermoPlannerBackdropShell .thermoSwitchBtn.is-active,
    html.planner-embed .thermoSwitchBtn:hover,
    html.planner-embed .thermoSwitchBtn.is-active{
      color:#ffffff;
      background:transparent;
    }

.thermoPlannerBackdropShell .thermoSwitchBtn::after,
    html.planner-embed .thermoSwitchBtn::after{
      background:rgba(255,255,255,.96);
    }

@media (hover:none), (pointer:coarse){
.thermoSwitchBtn{
        transition:none;
      }

.thermoSwitchBtn:hover{
        color:rgba(17,18,24,.66);
        background:transparent;
      }

.thermoSwitchBtn:hover::after{
        opacity:0;
        transform:scaleX(.42);
      }

.thermoSwitchBtn.is-active:hover{
        color:#111218;
        background:transparent;
      }

.thermoSwitchBtn.is-active:hover::after{
        opacity:1;
        transform:scaleX(1);
      }

.thermoPlannerBackdropShell .thermoSwitchBtn:hover,
      .thermoPlannerBackdropShell .thermoSwitchBtn:active,
      .thermoPlannerBackdropShell .thermoSwitchBtn:focus,
      .thermoPlannerBackdropShell .thermoSwitchBtn.is-active,
      .thermoPlannerBackdropShell .thermoSwitchBtn.is-active:hover,
      html.planner-embed .thermoSwitchBtn:hover,
      html.planner-embed .thermoSwitchBtn:active,
      html.planner-embed .thermoSwitchBtn:focus,
      html.planner-embed .thermoSwitchBtn.is-active,
      html.planner-embed .thermoSwitchBtn.is-active:hover{
        color:#ffffff;
        background:transparent;
      }

.thermoPlannerBackdropShell .thermoSwitchBtn::after,
      html.planner-embed .thermoSwitchBtn::after{
        background:rgba(255,255,255,.96);
      }
}

.thermoSwitchHint{
      margin:0;
      font-size:14px;
      line-height:1.45;
      color:rgba(17,18,24,.56);
      text-align:left;
      max-width:460px;
    }

:is(
      h1,
      h2,
      h3,
      h4,
      h5,
      h6,
      .hero h1,
      .hero .heroSubtitle,
      .heroPrice,
      .headline,
      .plannerTitle,
      .appleFeatureTitle,
      .thermoHighlightsTitle,
      .thermoSwitchTitle,
      .thermoHighlightIntroTitle,
      .thermoHighlightHeading,
      .thermoHighlightBody,
      .bookingPromptTitle,
      .legalDoc p,
      .legalDoc h2,
      .legalDocKicker,
      .legalDocLead,
      .legalDocSection,
      .faqQuestionBtn,
      .faqInlineText,
      .faqIntro
    ){
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    }

@keyframes fadeIn{from{opacity:0}to{opacity:1}}

@keyframes menuFade{
      from{opacity:0}
      to{opacity:1}
    }

@keyframes menuContentSlide{
      from{opacity:0;transform:translateY(-12px)}
      to{opacity:1;transform:translateY(0)}
    }

@keyframes plannerComboRise{
      0%{
        opacity:0;
        color:var(--plannerSuccessGlass);
        transform:translate(-50%, 14px);
      }
      10%{
        opacity:1;
        color:var(--plannerSuccessGlass);
      }
      90%{
        opacity:1;
        color:var(--plannerSuccessGlass);
      }
      100%{
        opacity:0;
        color:var(--plannerSuccessGlass);
        transform:translate(-50%, calc(var(--plannerComboRise, 180px) * -1));
      }
    }

@keyframes premiumStampIn{
      from{
        opacity:0;
        transform:translateY(6px) scale(.96);
      }
      to{
        opacity:1;
        transform:translateY(0) scale(1);
      }
    }

@keyframes premiumRowSoftIn{
      from{
        opacity:0;
        transform:translateY(6px) scale(.985);
      }
      to{
        opacity:1;
        transform:translateY(0) scale(1);
      }
    }

@keyframes mergeStepIn{
      from{
        opacity:0;
        transform:translateY(4px);
      }
      to{
        opacity:1;
        transform:translateY(0);
      }
    }

@keyframes mergeFlyStepIn{
      from{
        opacity:0;
        transform:translateX(22px) scale(.92);
      }
      30%{
        opacity:1;
      }
      to{
        opacity:1;
        transform:translateX(0) scale(1);
      }
    }

@keyframes mergeStepOut{
      from{
        opacity:1;
        transform:translateX(0) scale(1);
      }
      to{
        opacity:0;
        transform:translateY(-6px) scale(.94);
      }
    }

@keyframes mergeTotalCharge{
      from{
        opacity:0;
        transform:translateX(22px) scale(.9);
      }
      to{
        opacity:1;
        transform:translateX(0) scale(1);
      }
    }

@keyframes orderTotalFlip{
      0%{
        opacity:1;
        transform:translateY(0) rotateX(0deg);
        filter:blur(0);
      }
      40%{
        opacity:.18;
        transform:translateY(-5px) rotateX(74deg);
        filter:blur(.5px);
      }
      41%{
        opacity:.18;
        transform:translateY(6px) rotateX(-74deg);
        filter:blur(.5px);
      }
      100%{
        opacity:1;
        transform:translateY(0) rotateX(0deg);
        filter:blur(0);
      }
    }

#interactive-placeholder,
    #interactive-placeholder .thermoPlanner{
      opacity:1 !important;
      transform:none !important;
      transition:none !important;
    }

#thermo-switches{
      scroll-margin-top:calc(var(--headerH, 72px) + 18px);
    }

#interactive-placeholder.section{
      padding-top:0;
    }

#interactive-placeholder .plannerFigureOverlayImage,
    #interactive-placeholder .plannerFigureFrontline{
      transition:none !important;
    }

html.planner-embed{
      --planner-embed-head-space:max(14px, calc(env(safe-area-inset-top, 0px) + 10px));
      background:transparent;
    }

html.planner-embed body{
      background:transparent;
      overflow-x:hidden;
    }

html.planner-embed body > :not(.wrap):not(script){
      display:none !important;
    }

html.planner-embed #top{
      max-width:none;
      padding:var(--planner-embed-head-space) 0 0;
      background:transparent;
    }

html.planner-embed #top > :not(.thermoPlannerBackdropShell){
      display:none !important;
    }

html.planner-embed #thermo-switches.section{
      display:block;
      position:sticky;
      top:0;
      z-index:26;
      padding:0 0 8px;
    }

html.planner-embed #interactive-placeholder.section{
      padding:0;
    }

html.planner-embed .thermoPlannerBackdropShell{
      width:auto;
      margin:0;
      background:transparent;
      overflow:visible;
    }

html.planner-embed .thermoPlannerBackdropMedia{
      display:none;
    }

html.planner-embed .thermoPlannerBackdropShell::before,
    html.planner-embed .thermoPlannerBackdropShell::after{
      display:none;
    }

html.planner-embed #interactive-placeholder .thermoSwitchPanel--spacer{
      display:none;
    }

html.planner-embed .thermoSwitchPanel{
      padding-top:10px;
      background:transparent;
    }

html.planner-embed .thermoSwitchWrap{
      display:grid;
      grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
      align-items:start;
      width:100%;
      max-width:none;
      padding:0 24px;
    }

html.planner-embed .thermoSwitch{
      grid-column:2;
      justify-self:center;
      gap:28px;
      padding:0;
      border-radius:0;
      background:transparent;
      border:none;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }

html.planner-embed .thermoSwitchBtn{
      padding:8px 0 12px;
      border-radius:0;
      color:rgba(255,255,255,.72);
      text-shadow:none;
    }

html.planner-embed .thermoSwitchBtn:hover,
    html.planner-embed .thermoSwitchBtn.is-active{
      color:#fff;
      background:transparent;
    }

html.planner-embed .thermoSwitchBtn::after{
      background:#fff;
    }

html.planner-embed .plannerEmbedHeadActions{
      grid-column:3;
      justify-self:end;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:12px;
    }

html.planner-embed .plannerEmbedOpenPage{
      grid-column:auto;
      justify-self:auto;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:40px;
      padding:0 16px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.18);
      background:rgba(255,255,255,.10);
      color:#fff;
      font-size:14px;
      font-weight:600;
      text-decoration:none;
      white-space:nowrap;
      backdrop-filter:saturate(170%) blur(16px);
      -webkit-backdrop-filter:saturate(170%) blur(16px);
      text-shadow:none;
      box-shadow:0 12px 28px rgba(8,10,14,.12), inset 0 1px 0 rgba(255,255,255,.16);
    }

html.planner-embed .plannerEmbedOpenPage:hover{
      background:rgba(255,255,255,.18);
    }

html.planner-embed .plannerEmbedClose{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:40px;
      min-width:40px;
      height:40px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:999px;
      background:rgba(255,255,255,.10);
      color:#fff;
      cursor:pointer;
      padding:0;
      flex-shrink:0;
      backdrop-filter:saturate(170%) blur(16px);
      -webkit-backdrop-filter:saturate(170%) blur(16px);
      box-shadow:0 12px 28px rgba(8,10,14,.12), inset 0 1px 0 rgba(255,255,255,.16);
      -webkit-tap-highlight-color:transparent;
    }

html.planner-embed .plannerEmbedClose::before,
    html.planner-embed .plannerEmbedClose::after{
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      width:18px;
      height:2px;
      border-radius:999px;
      background:currentColor;
      transform-origin:center;
    }

html.planner-embed .plannerEmbedClose::before{
      transform:translate(-50%, -50%) rotate(45deg);
    }

html.planner-embed .plannerEmbedClose::after{
      transform:translate(-50%, -50%) rotate(-45deg);
    }

html.planner-embed .plannerEmbedClose:hover{
      background:rgba(255,255,255,.18);
    }

@media (max-width: 920px){
html.planner-embed #thermo-switches.section{
        position:relative;
        top:auto;
      }

html.planner-embed #interactive-placeholder.section{
        margin-top:clamp(28px, 3.2svh, 36px);
      }

html.planner-embed .thermoSwitchWrap{
        grid-template-columns:44px minmax(0, 1fr) 44px;
        grid-template-areas:
          "open tabs close";
        column-gap:10px;
        row-gap:0;
        align-items:center;
        padding:0 20px;
      }

html.planner-embed .thermoSwitch{
        grid-area:tabs;
        justify-self:center;
        min-width:0;
        gap:clamp(20px, 5vw, 34px);
      }

html.planner-embed .plannerEmbedHeadActions{
        display:contents;
      }

html.planner-embed .plannerEmbedOpenPage{
        display:none;
      }

html.planner-embed .plannerEmbedOpenPage::before{
        content:none;
      }

html.planner-embed .plannerEmbedClose{
        grid-area:close;
        justify-self:end;
      }
}

html.planner-embed .plannerPane{
      background:transparent;
      border:none;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      color:rgba(255,255,255,.88);
    }

html.planner-embed .plannerPane:not(.plannerPane--zones){
      border-radius:32px;
    }

html.planner-embed .plannerPane--zones{
      background:transparent;
      border:none;
      border-radius:0;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }

html.planner-embed .plannerFigureWrap{
      border-radius:24px;
      background:transparent;
      border:none;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      padding:0;
      overflow:hidden;
    }

html.planner-embed .plannerMobileInfo{
      left:24px;
      right:24px;
      top:24px;
    }

html.planner-embed .plannerMobileInfo.is-empty{
      display:none;
    }

html.planner-embed .plannerMobileInfoZones,
    html.planner-embed .plannerMobileInfoPrice{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      border-radius:18px;
      backdrop-filter:saturate(150%) blur(14px);
      -webkit-backdrop-filter:saturate(150%) blur(14px);
      box-shadow:none;
    }

html.planner-embed .plannerMobileInfoZones{
      padding:10px 12px;
    }

html.planner-embed .plannerMobileInfoPrice{
      padding:8px 12px;
      width:auto;
      min-width:6ch;
    }

html.planner-embed .plannerHead,
    html.planner-embed .orderSummary{
      border-color:rgba(255,255,255,.14);
    }

html.planner-embed .plannerPaymentSwitchTrack{
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
    }

html.planner-embed .plannerPaymentSwitchTrack::before{
      background:rgba(255,255,255,.96);
      box-shadow:0 8px 20px rgba(8,10,14,.18);
    }

html.planner-embed .plannerFormatLabel,
    html.planner-embed .plannerFormatOption{
      color:rgba(255,255,255,.78);
    }

html.planner-embed :is(
      .plannerTitle,
      .plannerSub,
      .orderEmpty,
      .plannerCourseHint,
      .orderTotalLabel,
      .orderTotalValue,
      .orderTaxNote,
      .orderClearBtn,
      .orderItemName,
      .orderItemMeta,
      .orderItemPromoNote,
      .orderItemSave,
      .orderItemDetailName,
      .orderItemDetailPrice,
      .orderItemDetailBadge,
      .orderPremiumBadge,
      .orderItemPremiumTag,
      .orderItemPriceLabel,
      .orderItemPriceOld,
      .orderItemPriceUnit,
      .orderItemPriceSub,
      .orderItemPriceEq,
      .orderItemPriceCalc,
      .orderItemPrice,
      .orderMergeFx,
      .orderMergeStep,
      .orderMergeTotal,
      .plannerMobileInfoZoneRow,
      .plannerMobileInfoZoneDetailName,
      .plannerMobileInfoZoneDetailPrice,
      .plannerMobileInfoPriceOld,
      .plannerMobileInfoPriceCurrent,
      .plannerMobileInfoSaved
    ){
      color:rgba(255,255,255,.82);
    }

html.planner-embed .plannerTitle,
    html.planner-embed .orderTotalValue,
    html.planner-embed .orderItemName{
      color:#fff;
      text-shadow:none;
    }

html.planner-embed .orderItem{
      border-bottom-color:rgba(255,255,255,.14);
    }

html.planner-embed .orderItem--set-active{
      border-bottom-color:rgba(255,255,255,.14);
    }

html.planner-embed .orderItemDetails{
      border-top-color:rgba(255,255,255,.14);
    }

html.planner-embed .orderItemDetailTreeChildren{
      border-left-color:rgba(255,255,255,.14);
    }

html.planner-embed .orderItemDetailBadge{
      background:rgba(255,255,255,.10);
      color:rgba(255,255,255,.72);
    }

html.planner-embed .orderPremiumBadge,
    html.planner-embed .orderItemPremiumTag{
      border-color:rgba(255,255,255,.16);
      background:rgba(255,255,255,.10);
      color:#fff;
    }

html.planner-embed .orderItemSaveHintBtn,
    html.planner-embed .orderItemSaveHintBtn:hover,
    html.planner-embed .orderItemSaveHintBtn.is-open{
      color:rgba(255,255,255,.78);
    }

html.planner-embed .orderItemSave,
    html.planner-embed .plannerMobileInfoSaved{
      color:var(--plannerSuccessGlass);
      text-shadow:none;
    }

html.planner-embed .plannerMobileInfo.is-completion-promo-price-green .plannerMobileInfoPriceCurrent{
      color:var(--plannerSuccessGlass);
      text-shadow:none;
      font-size:18px;
      font-weight:700;
    }

html.planner-embed .plannerMobileInfo.is-completion-promo-price-green .plannerMobileInfoSaved{
      color:var(--plannerSuccessGlass);
      text-shadow:none;
    }

html.planner-embed .orderItem--special-offer .orderItemMeta,
    html.planner-embed .orderItem--special-offer .orderItemPromoNote,
    html.planner-embed .orderItem--special-offer .orderItemSave,
    html.planner-embed .orderItem--special-offer .orderItemPrice{
      color:var(--plannerSuccessGlass);
      text-shadow:none;
    }

html.planner-embed .orderItem--special-offer .orderItemPrice{
      font-size:18px;
      font-weight:700;
    }

html.planner-embed .plannerSetAddBtn{
      background:rgba(255,255,255,.10);
      color:#fff;
      border:1px solid rgba(255,255,255,.18);
      backdrop-filter:saturate(150%) blur(12px);
      -webkit-backdrop-filter:saturate(150%) blur(12px);
    }

html.planner-embed .plannerSetAddBtn:hover{
      background:rgba(255,255,255,.18);
    }

html.planner-embed .plannerViewBtn{
      background:rgba(255,255,255,.34);
    }

html.planner-embed .plannerViewBtn:hover{
      background:rgba(255,255,255,.58);
    }

html.planner-embed .plannerViewBtn.is-active{
      background:#fff;
    }

html.planner-embed .plannerViewControls{
      width:max-content;
      margin:10px auto 0;
      position:static;
    }

html.planner-embed .plannerViewSwitch{
      position:relative;
      z-index:2;
    }

html.planner-embed .plannerViewArrow{
      position:absolute;
      top:calc(50% - 30px);
      transform:translateY(-50%);
      width:46px;
      height:46px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.10);
      color:#fff;
      text-shadow:none;
      box-shadow:0 12px 28px rgba(8,10,14,.14);
      backdrop-filter:saturate(150%) blur(12px);
      -webkit-backdrop-filter:saturate(150%) blur(12px);
      z-index:7;
    }

html.planner-embed .plannerViewArrow--prev{
      left:10px;
    }

html.planner-embed .plannerViewArrow--next{
      right:10px;
    }

html.planner-embed .plannerViewArrow:hover,
    html.planner-embed .plannerViewArrow:focus,
    html.planner-embed .plannerViewArrow:focus-visible,
    html.planner-embed .plannerViewArrow:active{
      color:#fff;
      background:rgba(255,255,255,.18);
      transform:translateY(-50%) scale(1.06);
    }

html.planner-embed .plannerViewArrow:active{
      transform:translateY(-50%) scale(.98);
    }

html.planner-embed .plannerViewArrow:disabled{
      background:rgba(255,255,255,.06);
      transform:translateY(-50%);
    }

html.planner-embed .plannerCtaRow .btn{
      background:rgba(255,255,255,.10);
      border-color:rgba(255,255,255,.18);
      color:#fff;
      backdrop-filter:saturate(150%) blur(12px);
      -webkit-backdrop-filter:saturate(150%) blur(12px);
    }

html.planner-embed .plannerCtaRow .btn:hover{
      background:rgba(255,255,255,.18);
    }

html.planner-embed .thermoPlanner{
      min-height:0;
    }

@media (max-width:920px){
html.planner-embed{
        --planner-embed-head-space:max(12px, calc(env(safe-area-inset-top, 0px) + 8px));
        --planner-embed-info-row-height:36px;
      }

html.planner-embed #interactive-placeholder.section{
        padding:0;
      }

html.planner-embed .plannerFigureWrap{
        padding:var(--planner-embed-info-row-height) 0 0;
      }

html.planner-embed .thermoSwitchWrap{
        padding:0 20px;
      }

html.planner-embed .plannerMobileInfo{
        left:21px;
        right:21px;
        top:20px;
        height:20px;
        align-items:center;
        padding-top:0;
      }

html.planner-embed .zoneSketchTag{
        font-size:12px;
      }

html.planner-embed .thermoPlanner{
        min-height:auto;
      }
}

@media (max-width:920px){
.thermoPlannerBackdropShell{
        background:var(--thermoPlannerBackdropImage) center center / cover no-repeat #141822;
      }

.thermoPlannerBackdropMedia{
        display:none;
      }

.thermoPlannerBackdropShell .thermoSwitchWrap,
      .thermoPlannerBackdropShell .thermoPlanner{
        max-width:none;
      }

.thermoHighlightsHeader--floating .thermoHighlightsTitle,
      .thermoSwitchTitle.thermoHighlightsTitle{
        font-size:clamp(28px, 7.2vw, 36px);
        line-height:.96;
      }

.thermoSwitchSection{
        display:flex;
        justify-content:center;
        padding:10px 0 8px;
      }

.thermoSwitchWrap{
        display:flex;
        flex-direction:column;
        position:static;
        min-height:0;
        justify-content:flex-start;
        align-items:center;
        gap:0;
        width:fit-content;
        max-width:100%;
        margin-inline:auto;
        padding:0;
        border:none;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
      }

.thermoSwitchIntro{
        justify-items:center;
        width:100%;
        text-align:center;
      }

.thermoSwitchHint{
        max-width:340px;
        font-size:13px;
      }

.thermoSwitchPanel{
        padding:14px 0 12px;
      }

.thermoSwitchPanel--spacer{
        min-height:28px;
      }

.thermoSwitch{
        position:static;
        left:auto;
        bottom:auto;
        transform:none;
        gap:22px;
        align-self:center;
        width:fit-content;
        margin-inline:auto;
      }

.thermoSwitchBtn{
        min-width:0;
        font-size:16px;
        padding:8px 0 10px;
      }

.thermoPlanner{
        grid-template-columns:minmax(0, 1fr);
        min-height:auto;
        overflow:visible;
      }

.plannerPane{
        border-radius:28px;
        padding:20px;
        width:100%;
        min-width:0;
        height:auto;
        max-height:none;
        overflow:visible;
      }

.plannerPane--zones{
        overflow:visible;
      }

.thermoPlannerBackdropShell .plannerPane:not(.plannerPane--zones),
      html.planner-embed .plannerPane:not(.plannerPane--zones){
        align-self:stretch;
        min-height:min(54svh, 560px);
        height:auto;
        max-height:min(78svh, 760px);
        overflow-x:hidden;
        overflow-y:hidden;
        overscroll-behavior:auto;
        padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
        margin-bottom:18px;
      }

.plannerNextBenefit{
        top:10px;
        left:10px;
      }

.plannerFigureWrap{
        overflow:visible;
      }

.plannerFigureInner{
        --planner-scene-gap:20px;
      }

.plannerTitle{
        font-size:28px;
      }

.plannerHead{
        --plannerFormatWidth:clamp(176px, 34%, 220px);
      }

.plannerFigure{
        height:min(78vh, 740px);
        padding-inline:0;
        overflow:hidden;
      }

.plannerFigureSceneFrame{
        --planner-scene-safe-top:10px;
        --planner-scene-safe-bottom:52px;
      }

.plannerFigureScene{
        padding-inline:0;
      }

.zoneSketchTag{
        font-size:11px;
      }

.orderList{
        flex:0 1 auto;
        min-height:0;
        max-height:none;
        overflow-x:hidden;
        overflow-y:hidden;
        overscroll-behavior:auto;
      }

.orderList.is-scrollable{
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
      }

.orderItemDetails{
        overscroll-behavior:auto;
      }

.orderItemDetails.is-scrollable{
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
      }

.plannerHead,
      .orderEmpty,
      .plannerSetAddWrap,
      .plannerFormat,
      .plannerCourseHint,
      .orderSummary,
      .orderTaxNote,
      .orderActions,
      .plannerCtaRow{
        flex:0 0 auto;
      }

.orderItemPriceLabel{
        font-size:10px;
      }

.orderItemName{
        font-size:clamp(16px, 5.2vw, 24px);
      }

.orderItemHeadWrap{
        padding-right:calc(var(--plannerOrderPriceColWidth) + 18px);
      }

.orderItemPriceWrap{
        right:8px;
      }

.orderItemPrice{
        font-size:clamp(15px, 4.8vw, 22px);
      }

.orderItem--special-offer .orderItemPrice{
        font-size:clamp(18px, 5vw, 24px);
      }

.orderSummary{
        padding-right:8px;
      }

.orderActions{
        padding-right:8px;
      }

.plannerCtaRow{
        padding-right:8px;
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }

.plannerFormatOption{
        font-size:clamp(8px, 1.95vw, 9px);
      }

.orderTotalValue{
        font-size:28px;
      }
}

@media (max-width:767px){
.thermoPlannerBackdropShell{
        background:#141822;
      }

.thermoPlannerBackdropMedia{
        display:block;
      }

.thermoPlannerBackdropMedia::before,
      .thermoPlannerBackdropMedia::after{
        display:none;
      }

.thermoPlannerBackdropVideo{
        filter:saturate(145%) blur(22px);
        -webkit-filter:saturate(145%) blur(22px);
        transform:scale(1.06);
        transform-origin:center center;
      }

.thermoPlannerBackdropShell::before{
        inset:0;
        content:"";
        background:rgba(24,18,14,.20);
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
      }

.thermoPlannerBackdropShell::after{
        content:"";
        background:
          radial-gradient(circle at 68% 20%, rgba(181,100,63,.3) 0%, rgba(181,100,63,0) 28%),
          radial-gradient(circle at 80% 78%, rgba(88,127,8,.24) 0%, rgba(88,127,8,0) 34%),
          linear-gradient(180deg, rgba(8,11,18,.44) 0%, rgba(8,11,18,.2) 34%, rgba(8,11,18,.3) 100%);
      }

#thermo-switches.section{
        padding:8px 0 6px;
      }

#interactive-placeholder.section{
        padding:0 0 0;
        width:100vw;
        max-width:none;
        margin-left:calc(50% - 50vw);
        margin-right:calc(50% - 50vw);
      }

.thermoPlanner{
        gap:8px;
        min-height:100svh;
        width:100%;
        max-width:none;
        overflow:visible;
      }

.plannerPane--zones{
        min-height:calc(100svh + 72px);
        padding:0;
        width:100%;
        max-width:none;
        overflow:visible;
      }

.plannerNextBenefit{
        display:block;
        top:18px;
        left:14px;
        width:80px;
        padding:9px 10px;
      }

.plannerPane--zones .plannerFigureWrap{
        height:calc(100svh + 72px);
        margin-top:0;
        width:100%;
        margin-left:0;
        margin-right:0;
      }

.plannerFigureWrap{
        width:100%;
        max-width:none;
        overflow:visible;
      }

.plannerFigure{
        height:calc(100svh - 14px);
        width:100%;
        padding:6px 0 0;
        overflow:hidden;
      }

.plannerFigureSceneFrame{
        width:auto;
        max-width:100%;
        --planner-scene-safe-top:6px;
        --planner-scene-safe-bottom:34px;
        aspect-ratio:var(--planner-scene-aspect, 2200 / 5500);
      }

.plannerSketch,
      .plannerBackSketch{
        left:50%;
        width:auto;
        max-width:100%;
        aspect-ratio:var(--planner-active-aspect, 2200 / 5500);
        transform:translateX(-50%);
      }

.plannerFigureInner{
        --planner-scene-gap:16px;
        contain:none;
        transform:none;
      }

.plannerFigureTrack{
        transition-duration:.52s;
        transition-timing-function:cubic-bezier(.32, 0, .2, 1);
        will-change:auto;
      }

.plannerFigureTrack.is-mode-switching{
        will-change:transform;
      }

.plannerFigureBase,
      .plannerFigureOverlayImage,
      .plannerFigureFrontline{
        will-change:auto;
        transform:none;
        backface-visibility:visible;
      }

.plannerFigureScene{
        padding-inline:0;
      }

.plannerViewControls{
        gap:10px;
        margin-top:10px;
      }

.plannerViewSwitch{
        margin:0;
      }

.plannerViewArrow{
        top:calc(50% - 18px);
        width:42px;
        height:42px;
      }

.plannerViewArrow--prev{
        left:6px;
      }

.plannerViewArrow--next{
        right:6px;
      }

.plannerViewArrow svg{
        width:15px;
        height:15px;
      }

.plannerFaceJoystick{
        right:8px;
        bottom:62px;
      }

.plannerButtonInspector{
        display:none;
      }

.plannerMobileInfo{
        display:grid;
        grid-template-columns:minmax(0, 1fr) 0 auto;
        align-items:flex-start;
        column-gap:10px;
        left:22px;
        right:22px;
        top:-14px;
      }

.plannerMobileInfo.is-empty{
        display:none;
      }

.thermoPlannerBackdropShell .plannerMobileInfoZones,
      .thermoPlannerBackdropShell .plannerMobileInfoPrice,
      html.planner-embed .plannerMobileInfoZones,
      html.planner-embed .plannerMobileInfoPrice{
        background:transparent;
        border:none;
        border-radius:0;
        box-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        padding:0;
      }

.plannerMobileInfoZones{
        max-width:none;
        max-height:none;
        overflow:visible;
        mask-image:none;
        -webkit-mask-image:none;
      }

.plannerMobileInfoZoneRow,
      .plannerMobileInfoZoneDetailRow,
      .plannerMobileInfoZoneDetailPrice,
      .plannerMobileInfoPriceCurrent,
      .plannerMobileInfoPriceOld{
        color:rgba(255,255,255,.96);
        text-shadow:0 8px 18px rgba(8,10,14,.28);
      }

.plannerMobileInfoZoneRow{
        font-size:14px;
        line-height:1.12;
        letter-spacing:var(--appleBodyTracking);
        font-weight:var(--appleEmphasisWeight);
      }

.plannerMobileInfoPriceCurrent{
        font-size:14px;
        line-height:1.12;
        letter-spacing:var(--appleBodyTracking);
        font-weight:var(--appleEmphasisWeight);
      }

.plannerMobileInfoZoneChevron{
        color:rgba(255,255,255,.78);
      }

.plannerMobileInfoPrice{
        width:auto;
        min-width:0;
      }

html.planner-embed.planner-embed-compact-start .plannerMobileInfo{
        grid-template-columns:minmax(0, 1fr) 0 auto;
        column-gap:10px;
        left:22px;
        right:22px;
        top:-14px;
      }

html.planner-embed.planner-embed-compact-start{
        --planner-embed-mobile-head-height:clamp(64px, 11svh, 84px);
      }

html.planner-embed.planner-embed-compact-start #top{
        padding-top:0;
      }

html.planner-embed.planner-embed-compact-start #thermo-switches.section{
        padding:max(10px, calc(env(safe-area-inset-top, 0px) + 6px)) 0 4px;
      }

html.planner-embed.planner-embed-compact-start #interactive-placeholder.section{
        margin-top:0;
      }

html.planner-embed.planner-embed-compact-start .thermoPlanner{
        gap:0;
        min-height:calc(100svh - var(--planner-embed-mobile-head-height));
      }

html.planner-embed.planner-embed-compact-start .plannerPane--zones{
        min-height:calc(100svh - var(--planner-embed-mobile-head-height));
      }

html.planner-embed.planner-embed-compact-start .plannerFigureWrap{
        height:calc(100svh - var(--planner-embed-mobile-head-height));
        overflow:visible;
      }

html.planner-embed.planner-embed-compact-start .plannerPane--zones .plannerFigureWrap{
        height:calc(100svh - var(--planner-embed-mobile-head-height));
      }

html.planner-embed.planner-embed-compact-start .plannerFigure{
        height:calc(100svh - var(--planner-embed-mobile-head-height));
        padding:0;
      }

html.planner-embed.planner-embed-compact-start .plannerFigureSceneFrame{
        --planner-scene-safe-top:0px;
        --planner-scene-safe-bottom:28px;
      }

html.planner-embed.planner-embed-compact-start .plannerMobileInfoZones{
        grid-column:1;
        min-width:0;
        max-width:none;
      }

html.planner-embed.planner-embed-compact-start .plannerMobileInfoPrice{
        grid-column:3;
        justify-self:end;
        width:auto;
        min-width:0;
        max-width:none;
      }

.plannerNextBenefit{
        position:static;
        top:auto;
        left:auto;
        z-index:auto;
        --planner-next-benefit-shift-x:0px;
        width:40px;
        max-width:58px;
        display:flex;
        align-items:center;
        align-self:center;
        justify-self:start;
        justify-content:flex-start;
        margin:0;
        padding:0;
        transform:translate(var(--planner-next-benefit-shift-x), 1px);
        transition:width .9s cubic-bezier(.2,.74,.24,1), transform .46s cubic-bezier(.22,.84,.18,1);
      }

.plannerNextBenefitProgressRow{
        width:100%;
      }

.orderItemSave{
        font-size:15px;
      }

.orderItemSaveHintBtn{
        width:28px;
        height:28px;
        min-width:28px;
        min-height:28px;
      }
}

.plannerTrialPromo{
      position:relative;
      z-index:1;
      width:100vw;
      max-width:none;
      margin-left:calc(50% - 50vw);
      margin-right:calc(50% - 50vw);
      padding:clamp(34px, 5vw, 72px) 0 clamp(48px, 7vw, 96px);
      background:var(--detox-ph-bg-taupe);
      overflow:hidden;
    }

.plannerTrialPromoInner{
      position:relative;
      z-index:1;
      width:100%;
      max-width:none;
      margin:0 auto;
      padding:0 clamp(20px, 2vw, 36px);
      display:grid;
      justify-items:center;
      gap:clamp(20px, 2.4vw, 28px);
      text-align:center;
    }

.plannerTrialPromoTitle{
      margin:0;
      width:100%;
      max-width:none;
      color:#ffffff;
      font-size:var(--detoxLargeHeadingSize);
      line-height:var(--detoxLargeHeadingLineHeight);
      letter-spacing:var(--detoxLargeHeadingLetterSpacing);
      font-weight:var(--detoxLargeHeadingWeight);
      text-wrap:balance;
      text-align:center;
    }

.plannerTrialPromoTitle span{
      display:inline;
      padding:0;
      background:none;
    }

.plannerTrialPromoAction{
      min-width:min(100%, 360px);
      padding:18px 36px;
      border-radius:999px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.18);
      box-shadow:0 12px 28px rgba(8,10,14,.14);
      color:#ffffff;
      backdrop-filter:saturate(150%) blur(12px);
      -webkit-backdrop-filter:saturate(150%) blur(12px);
      font-size:clamp(18px, 1.4vw, 28px);
      line-height:1.1;
      font-weight:800;
      letter-spacing:.03em;
      text-transform:uppercase;
    }

.plannerTrialPromoAction:hover{
      background:rgba(255,255,255,.18);
      border-color:rgba(255,255,255,.18);
      color:#ffffff;
      opacity:1;
    }

.thermoPlannerIntro .storyPanelCopy{
      padding-block:clamp(40px, 4.8vw, 68px) clamp(88px, 8vw, 140px);
      background:var(--detox-ph-bg-cream);
    }

.thermoPlannerIntro .storyPanelTitle{
      color:var(--detox-ph-text);
    }

.thermoPlannerIntro .storyPanelLead{
      color:var(--detox-ph-text-muted);
      margin-top:clamp(20px, 2.6vw, 34px);
    }

.thermoPlannerLeadAccent{
      color:var(--detox-ph-text) !important;
      font-weight:600;
      margin-top:clamp(22px, 2.8vw, 36px);
      margin-bottom:clamp(22px, 2.8vw, 36px);
    }

.thermoPlannerValueList{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:10px clamp(18px, 2vw, 28px);
      width:min(100%, 760px);
      margin:clamp(2px, .6vw, 8px) 0 0;
      padding:0;
      list-style:none;
    }

.thermoPlannerValueList li{
      position:relative;
      padding-left:20px;
      color:var(--detox-ph-text);
      font-size:clamp(17px, 1.2vw, 20px);
      line-height:1.45;
      letter-spacing:var(--appleBodyTracking);
      font-weight:var(--appleBodyWeight);
      text-align:left;
    }

.thermoPlannerValueList li::before{
      content:"";
      position:absolute;
      left:0;
      top:.72em;
      width:6px;
      height:6px;
      border-radius:50%;
      background:rgba(63,59,56,.58);
    }

@media (max-width:920px){
.storyPanelTitle,
      .storyPanelSubsectionTitle,
      .faqSectionHeading,
      .bookingHeroTitle,
      .plannerTrialPromoTitle{
        width:100%;
        max-width:none;
        text-align:center !important;
      }

.plannerTrialPromo{
        padding:24px 0 34px;
      }

.plannerTrialPromoTitle{
        max-width:18ch;
        font-size:clamp(28px, 8vw, 46px);
      }

.plannerTrialPromoAction{
        width:min(100%, 320px);
        min-width:0;
        padding:16px 24px;
      }
}

@media (max-width:640px){
.bookingHeroContent,
      .plannerTrialPromoInner{
        justify-items:center;
        text-align:center;
      }
}

:is(
      h1,
      h2,
      h3,
      h4,
      h5,
      h6,
      .hero h1,
      .hero .heroSubtitle,
      .heroPrice,
      .headline,
      .plannerTitle,
      .appleFeatureTitle,
      .thermoHighlightsTitle,
      .thermoSwitchTitle,
      .thermoHighlightIntroTitle,
      .thermoHighlightHeading,
      .thermoHighlightBody,
      .bookingPromptTitle,
      .legalDoc p,
      .legalDoc h2,
      .legalDocKicker,
      .legalDocLead,
      .legalDocSection,
      .faqQuestionBtn,
      .faqInlineText,
      .faqIntro
    ){
      font-family:var(--appleFontText);
    }

.bookingPromptTitle,
    .heroPrice{
      font-size:var(--appleCalloutSize);
      letter-spacing:var(--appleBodyTracking);
      font-weight:var(--appleEmphasisWeight);
    }

.bookingPromptTitle{
      font-size:clamp(24px, 1.6vw, 28px);
      line-height:1.12;
      letter-spacing:var(--appleHeadingTracking);
      font-weight:var(--appleHeadingWeight);
    }

.storyPanelTitle,
    .bookingHeroTitle,
    .plannerTrialPromoTitle,
    .faqSectionHeading{
      font-size:var(--appleSectionTitleSize);
      line-height:var(--detoxLargeHeadingLineHeight);
      letter-spacing:var(--detoxLargeHeadingLetterSpacing);
      font-weight:var(--detoxLargeHeadingWeight);
    }

#thermo_intro_gallery_title,
    #thermo_benefits_grid_title,
    #thermo_difference_title,
    #thermo_how_it_works_title,
    #thermo_mid_cta_title,
    #thermo_results_title,
    #thermo_course_logic_title,
    #thermo_pricing_intro_title,
    #planner_trial_promo_title,
    #thermo_procedure_title,
    #thermo_care_title,
    #thermo_contra_title,
    #thermo_risks_title,
    #thermo_final_cta_title,
    #thermo_faq_title{
      font-size:var(--appleSectionTitleSize);
      line-height:var(--detoxLargeHeadingLineHeight);
      letter-spacing:var(--detoxLargeHeadingLetterSpacing);
      font-weight:var(--detoxLargeHeadingWeight);
    }

.storyPanelLead--accent,
    .thermoPlannerLeadAccent,
    .thermoCourseBandMeta{
      font-weight:var(--appleEmphasisWeight);
    }

@media (max-width:767px){
.storyPanelTitle,
      .bookingHeroTitle,
      .plannerTrialPromoTitle,
      .faqSectionHeading,
      .thermoPageStoryHeading,
      .thermoBenefitsSlideTitle,
      .thermoReasonsTitle,
      .thermoMathTitle,
      #thermo_intro_gallery_title,
      #thermo_benefits_grid_title,
      #thermo_difference_title,
      #thermo_how_it_works_title,
      #thermo_mid_cta_title,
      #thermo_results_title,
      #thermo_course_logic_title,
      #thermo_pricing_intro_title,
      #planner_trial_promo_title,
      #thermo_procedure_title,
      #thermo_care_title,
      #thermo_contra_title,
      #thermo_risks_title,
      #thermo_final_cta_title,
      #thermo_faq_title{
        font-size:var(--thermoMobileTitleSize);
        line-height:.98;
        letter-spacing:var(--appleHeadingTracking);
        font-weight:var(--appleHeadingWeight);
      }

.hero .heroSubtitle,
      .hero p,
      .heroPrice,
      .bookingHeroPromoBtn,
      .plannerTrialPromoAction,
      .bookingHero--detoxFinal .btn{
        font-size:var(--thermoMobileBodySmallSize);
        line-height:1.38;
        letter-spacing:var(--appleBodyTracking);
      }
}

.storyPanel--centerIntro .storyPanelBody,
    .storyPanel--heroBridge .storyPanelBody,
    .storyPanel--featureGallery .storyPanelBody,
    .storyPanel--benefitsGrid .storyPanelBody,
    .storyPanel--taupeExplain .storyPanelBody,
    .storyPanel--differenceGrid .storyPanelBody,
    .storyPanel--beforeAfterShowcase .storyPanelBody,
    .thermoPlannerIntro .storyPanelBody,
    .storyPanel--expectations .storyPanelBody,
    .storyPanel--careBeforeAfter .storyPanelBody,
    .thermoCourseLogic .storyPanelBody,
    .thermoCycleScience .storyPanelBody,
    .storyPanel--contraCentered .storyPanelBody,
    .storyPanel--riskGrid .storyPanelBody{
      width:100%;
      max-width:var(--content-max-width);
    }

/*
  Thermo planner panel overrides.
  Keep price-panel layout/debug changes here so future edits do not require
  reading the large thermo.html file.
*/

@media (max-width:920px){
  .plannerHead{
    --plannerFormatWidth:150px;
  }
}

.plannerHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:auto;
}

.plannerHead .plannerTitle{
  flex:1 1 auto;
  max-width:none;
}

.plannerFormat{
  position:static;
  top:auto;
  right:auto;
  flex:0 0 var(--plannerFormatWidth);
  width:var(--plannerFormatWidth) !important;
  transform:none;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
}

.plannerFormatSelect{
  background-color:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
  color:#fff !important;
  -webkit-text-fill-color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  font-size:10px;
  outline:none !important;
  backdrop-filter:saturate(150%) blur(12px);
  -webkit-backdrop-filter:saturate(150%) blur(12px);
}

.plannerFormatSelect:hover,
.plannerFormatSelect:focus,
.plannerFormatSelect:focus-visible,
.plannerFormatSelect:active{
  background-color:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important;
  outline:none !important;
}

.plannerFormatSelect option{
  background:#9f8068;
  color:#fff;
  font-weight:700;
}

.plannerFormatSelect option:checked{
  background:#b8967d;
  color:#fff;
}

.plannerCourseHint:not([hidden]){
  margin-top:auto;
  padding-top:12px;
  max-width:100%;
  color:rgba(255,255,255,.78);
}

.plannerCourseHint:not([hidden]) + .orderSummary{
  margin-top:12px;
}

.plannerPane:not(.plannerPane--zones) .orderList{
  flex:1 1 0;
  min-height:0;
  padding-bottom:0;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.plannerPane.is-order-details-open .orderItemDetails{
  --order-details-safe-bottom:18px;
  position:absolute;
  z-index:4;
  top:var(--planner-details-top, calc(100% + 6px));
  left:0;
  right:0;
  max-height:var(--planner-details-max-height, clamp(150px, 28vh, 300px)) !important;
  margin-top:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scroll-padding-bottom:var(--order-details-safe-bottom);
}

.plannerPane.is-order-details-open .orderItemDetails.is-scrollable{
  --order-details-safe-bottom:42px;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.plannerPane.is-order-details-open .orderItem{
  border-bottom-color:transparent;
}

.plannerPane.is-order-details-tight .plannerSetAddWrap,
.plannerPane.is-order-details-tight .plannerCourseHint{
  display:none;
  max-height:0;
  margin-top:0;
  margin-bottom:0;
  padding-top:0;
  padding-bottom:0;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  pointer-events:none;
}

.plannerPane.is-order-details-open .orderSummary{
  margin-top:auto;
}

.plannerPane:not(.is-order-details-open) .plannerSetAddWrap,
.plannerPane.is-order-details-open .plannerSetAddWrap,
.plannerPane:not(.is-order-details-open) .orderSummary,
.plannerPane.is-order-details-open .orderSummary,
.plannerPane:not(.is-order-details-open) .orderTaxNote,
.plannerPane.is-order-details-open .orderTaxNote,
.plannerPane:not(.is-order-details-open) .plannerCtaRow,
.plannerPane.is-order-details-open .plannerCtaRow{
  flex:0 0 auto;
}

@media (max-width:767px){
  .plannerTitle{
    font-size:clamp(28px, 9.4vw, 40px);
  }

  .plannerHead{
    gap:12px;
  }

  .plannerFormat{
    --plannerFormatWidth:132px;
    flex-basis:var(--plannerFormatWidth);
  }

  .plannerFormatSelect{
    height:32px;
    min-height:32px;
    font-size:11px;
    padding-left:12px;
    padding-right:22px;
    background-position:calc(100% - 15px) 13px, calc(100% - 9px) 13px;
  }

  .orderItemNameLine{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 28px minmax(0, 1fr);
    gap:0;
    align-items:center;
    padding-right:0;
    position:static;
  }

  .orderItemNameLine .orderItemName{
    grid-column:1;
  }

  .orderItemSaveHintBtn{
    position:absolute;
    left:50%;
    top:14px;
    right:auto;
    transform:translateX(-50%);
  }

  .orderItemSaveHintBtn:hover,
  .orderItemSaveHintBtn.is-open{
    transform:translateX(-50%);
  }

  .plannerSetAddWrap{
    flex:0 0 auto;
    justify-content:center;
    padding-top:8px;
    padding-bottom:8px;
    transform:translateY(-1px);
  }

  .thermoPlannerBackdropShell .plannerPane:not(.plannerPane--zones),
  html.planner-embed .plannerPane:not(.plannerPane--zones){
    --planner-order-panel-vertical-gap:16px;
    height:var(--planner-order-panel-height, calc(100svh - var(--planner-order-panel-vertical-gap))) !important;
    min-height:var(--planner-order-panel-height, calc(100svh - var(--planner-order-panel-vertical-gap)));
    max-height:var(--planner-order-panel-height, calc(100svh - var(--planner-order-panel-vertical-gap))) !important;
    overflow:hidden !important;
  }

  .plannerPane:not(.plannerPane--zones) .orderList{
    flex:1 1 0;
    min-height:0;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto !important;
  }

  .orderList.is-scrollable{
    overflow-y:auto;
  }

  .plannerPane.is-order-details-open .orderList{
    flex:1 1 0;
    max-height:none;
    overflow-y:auto !important;
  }

  .orderSummary,
  .orderTaxNote,
  .plannerCtaRow{
    flex:0 0 auto;
  }

  .plannerCtaRow{
    margin-top:10px;
  }
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones){
  position:relative;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.78) inset,
    0 0 0 2px #ff2d55,
    0 8px 20px rgba(8,10,18,.18) !important;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones)::before{
  content:"DEBUG PRICE PANEL";
  position:absolute;
  left:auto;
  right:14px;
  top:14px;
  z-index:80;
  padding:5px 8px;
  border-radius:7px;
  background:rgba(8,10,18,.86);
  color:#fff;
  font:800 10px/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing:.04em;
  pointer-events:none;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) :is(.orderItem, .orderItemToggle, .plannerSetAddBtn, .orderSummary, .plannerCtaBtn){
  outline:2px solid var(--price-debug-color, #ff2d55) !important;
  outline-offset:3px !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.86) inset,
    0 0 0 1px var(--price-debug-color, #ff2d55),
    0 8px 18px rgba(8,10,18,.16) !important;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) :is(.orderItem, .plannerSetAddBtn, .orderSummary, .plannerCtaBtn)::after{
  position:absolute;
  z-index:81;
  left:0;
  bottom:100%;
  transform:translateY(-5px);
  padding:3px 6px;
  border-radius:6px;
  background:var(--price-debug-color, #ff2d55);
  color:#fff;
  font:800 9px/1.1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing:0;
  white-space:nowrap;
  pointer-events:none;
  text-shadow:none;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .orderItem{
  --price-debug-color:#0a84ff;
  position:relative;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .orderItem::after{
  content:"set row";
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .orderItemToggle{
  --price-debug-color:#bf5af2;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .plannerSetAddBtn{
  --price-debug-color:#ff9f0a;
  position:relative;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .plannerSetAddBtn::after{
  content:"add set";
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .orderSummary{
  --price-debug-color:#30d158;
  position:relative;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .orderSummary::after{
  content:"total";
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .plannerCtaBtn{
  --price-debug-color:#64d2ff;
  position:relative;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .plannerCtaBtn--buy{
  --price-debug-color:#ffd60a;
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .plannerCtaBtn--buy::after{
  content:"buy";
}

html.planner-debug-zones .plannerPane:not(.plannerPane--zones) .plannerCtaBtn:not(.plannerCtaBtn--buy)::after{
  content:"book";
}
