


.stepper[hidden]{display:none!important}


.progress i{width:100%;transform-origin:left}


.mtm-link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--olive);font-weight:600}
.mtm-link-arrow svg{flex:none}
.btn svg.mtm-ic{flex:none}
.ck-ic{color:var(--olive);flex:none}


.opt .tag.mtm-tag{text-transform:none;letter-spacing:0;font-size:12px;font-weight:650}


.stepper .sicon{flex:none;color:var(--olive);display:flex;align-items:center}


.stepper button{width:44px;height:44px}
#type.opts-3 .opt{display:flex;flex-direction:column;align-items:center;gap:7px}
#type.opts-3 .opt .oicon{color:var(--muted)}
#type.opts-3 .opt[aria-pressed="true"] .oicon{color:var(--olive)}






.field-err{color:#a8442a;font-size:13px;margin:-10px 0 14px;min-height:16px}


.book2{display:grid;grid-template-columns:1.35fr 1fr;gap:34px;align-items:start}
.book2 .colL{min-width:0}
.book2 .colR{min-width:0;position:sticky;top:96px}
.b2-block{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-bottom:20px}
.b2-block h3{display:flex;align-items:center;gap:12px;font-size:18px;margin-bottom:18px}
.b2-block h3 .bn{width:28px;height:28px;border-radius:50%;background:var(--olive);color:#fff;
  font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.b2-block .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.fld label{display:block;margin:0 0 6px}
.b2-block .fld label{font-size:13px;font-weight:600;color:var(--muted)}
.b2-block input,.b2-block select,.b2-block textarea{
  width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;
  background:var(--cream);color:var(--ink);min-width:0}
.b2-block input:focus,.b2-block select:focus,.b2-block textarea:focus{outline:none;border-color:var(--olive);background:#fff}
.b2-block textarea{resize:vertical;min-height:80px}
.b2-block .fld{margin-bottom:14px}
.b2-block .fld.err input,.b2-block .fld.err select,.b2-block .fld.err textarea{border-color:#a8442a}
.b2-block .fld .msg{color:#a8442a;font-size:12.5px;margin-top:5px;display:none}
.b2-block .fld.err .msg{display:block}
.b2-block .radio-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}
.b2-block .radio-opt{border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14.5px;
  font-weight:600;cursor:pointer;background:#fff}
.b2-block .radio-opt input{width:auto;margin-right:8px}
.b2-block .radio-opt.on{border-color:var(--olive);background:rgba(111,116,66,.08)}
.consent{display:flex;gap:10px;font-size:13px;color:var(--muted);line-height:1.5;margin:8px 0 4px}
.consent input{width:auto;margin-top:3px;flex:none}

.time-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.time-toggle button{padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;
  font-weight:600;font-size:14.5px;cursor:pointer}
.time-toggle button[aria-pressed=true]{border-color:var(--olive);background:rgba(111,116,66,.08);color:var(--olive)}


.extras-list{display:grid;gap:0;border-top:1px solid var(--line)}
.extra-row{display:flex;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 4px;cursor:pointer;background:transparent}
.extra-row:hover{background:var(--sand)}
.extra-row:has(input:checked){background:rgba(111,116,66,.08)}
.b2-block .extra-row input{width:18px;height:18px;padding:0;flex:none;accent-color:var(--olive)}
.b2-block .consent input,.b2-block .radio-opt input{width:auto;padding:0;accent-color:var(--olive)}
.extra-row .en{flex:1;font-size:14.5px;font-weight:600}
.extra-row .ep{font-size:14.5px;color:var(--olive);font-weight:700}
.extras-note{font-size:12.5px;color:var(--muted);margin:2px 0 14px}




.sum-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.sum-card h3{font-size:17px;margin-bottom:16px}
.sum-steppers{display:grid;gap:0;margin-bottom:14px}
.sum-change{background:none;border:0;color:var(--olive);font-weight:700;font-size:13px;cursor:pointer;padding:0}
.sum-picker{display:none;gap:8px;margin:8px 0 12px;flex-wrap:wrap}
.sum-picker.open{display:flex}
.sum-picker button{padding:8px 12px;border:1px solid var(--line);border-radius:20px;background:#fff;font:inherit;
  font-size:13px;font-weight:600;cursor:pointer}
.sum-picker button[aria-pressed=true]{border-color:var(--olive);background:rgba(111,116,66,.08);color:var(--olive)}
.sum-line{display:flex;justify-content:space-between;gap:16px;font-size:14.5px;padding:9px 0;border-bottom:1px solid var(--line)}
.sum-line:last-of-type{border-bottom:none}
.sum-line span:last-child{text-align:right}
.sum-line.tot{font-weight:800;font-size:17px;border-top:1.5px solid var(--ink);margin-top:6px;padding-top:14px}
.sum-getlist{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px;font-size:14px}
.sum-getlist li{display:flex;gap:9px;align-items:flex-start}
.sum-getlist .ck{color:var(--olive);font-weight:700;flex:none}


.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:10px 0 4px}
.date-grid button{aspect-ratio:1;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit;
  font-size:13.5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.date-grid button .dow{font-size:10px;color:var(--muted)}
.date-grid button[aria-pressed=true]{border-color:var(--olive);background:var(--olive);color:#fff}
.date-grid button[aria-pressed=true] .dow{color:#e8e6d8}
.date-grid button:disabled{opacity:.35;cursor:not-allowed}




















.mobile-pricebar{display:none}

@media (max-width:900px){
  .book2{grid-template-columns:1fr}
  .book2 .colR{position:static}
  .b2-block .grid2{grid-template-columns:1fr}
      .date-grid{grid-template-columns:repeat(5,1fr)}

  .mobile-pricebar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;
    align-items:center;justify-content:space-between;gap:10px;
    padding:13px 20px calc(13px + env(safe-area-inset-bottom,0px));
    background:var(--olive);color:#fff;border:0;font:inherit;cursor:pointer;
    box-shadow:0 -10px 30px -14px rgba(35,37,26,.45)}
  .mobile-pricebar span{font-size:13px;opacity:.85;text-transform:uppercase;letter-spacing:.08em}
  .mobile-pricebar b{font-size:19px;font-weight:800}
  #step2{padding-bottom:64px}
}






@media (prefers-reduced-motion:no-preference){
  
  .seg button,.opt,.radio-opt,.time-toggle button,.date-grid button,.sum-picker button {
    transition:transform .2s var(--ease-out),border-color .2s,background .2s,box-shadow .2s,color .2s}
  .seg button:active,.opt:active,.radio-opt:active,.time-toggle button:active,.date-grid button:active {transform:scale(.96)}
  
  .mtm-touched .seg button[aria-pressed=true],.mtm-touched .opt[aria-pressed=true],.mtm-touched .time-toggle button[aria-pressed=true],
  .mtm-touched .date-grid button[aria-pressed=true],.mtm-touched .sum-picker button[aria-pressed=true] {
    animation:mtmSettle .32s var(--ease-out)}
  @keyframes mtmSettle{0%{transform:scale(.94)}60%{transform:scale(1.035)}100%{transform:scale(1)}}
  .radio-opt.on{box-shadow:0 0 0 1px var(--olive)}

  
  .stepper button,.b2-block .extra-row{transition:transform .15s var(--ease-out),border-color .2s,background .2s}
  .stepper button:active{transform:scale(.88)}

  
  #step2:not([hidden]),#step3:not([hidden]){animation:mtmStepIn .5s var(--ease-out) both}
  @keyframes mtmStepIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

  
  .sum-picker.open{animation:mtmDrop2 .22s var(--ease-out)}
  @keyframes mtmDrop2{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

  
  .sum-line span:last-child,.sum-line.tot span:last-child{transition:color .15s}
  .price-flash{animation:mtmFlash .5s ease}
  @keyframes mtmFlash{0%{color:var(--olive);transform:translateY(-2px)}100%{color:inherit;transform:none}}
  .sum-line.tot .price-flash{animation:mtmFlashBig .55s var(--ease-out)}
  @keyframes mtmFlashBig{0%{color:var(--olive);transform:scale(1.08)}100%{color:inherit;transform:none}}
  
  .mobile-pricebar .price-flash{animation-name:mtmFlashBar}
  @keyframes mtmFlashBar{0%{color:var(--sand);transform:translateY(-2px)}100%{color:inherit;transform:none}}
  
  
  
  .done-check circle{stroke-dasharray:64;stroke-dashoffset:64;animation:mtmCircle .5s var(--ease-out) .1s forwards}
  .done-check path{stroke-dasharray:24;stroke-dashoffset:24;animation:mtmTick .35s var(--ease-out) .55s forwards}
  @keyframes mtmCircle{to{stroke-dashoffset:0}}
  @keyframes mtmTick{to{stroke-dashoffset:0}}
  .done-wrap{animation:mtmPopIn .5s var(--ease-out) both}
  @keyframes mtmPopIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}

  
        
  
    
  
    
    
  

  
  .stepper .sv .num{display:inline-block}
  .stepper .num.roll-up{animation:mtmRollUp .22s var(--ease-out)}
  .stepper .num.roll-down{animation:mtmRollDown .22s var(--ease-out)}
  @keyframes mtmRollUp{from{transform:translateY(40%);opacity:0}to{transform:none;opacity:1}}
  @keyframes mtmRollDown{from{transform:translateY(-40%);opacity:0}to{transform:none;opacity:1}}

  
  .extra-row:has(input:checked) .ep{animation:mtmPop .2s var(--ease-out)}
  @keyframes mtmPop{0%{transform:scale(.85)}60%{transform:scale(1.12)}100%{transform:scale(1)}}

  
  .done-sprig{transform-origin:bottom center;opacity:0;
    animation:mtmSprig .4s var(--ease-out) .85s forwards}
  .done-sprig path{stroke-dasharray:30;stroke-dashoffset:30;animation:mtmSprigDraw .4s var(--ease-out) .85s forwards}
  @keyframes mtmSprig{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
  @keyframes mtmSprigDraw{to{stroke-dashoffset:0}}
}

