/* Cielito · menu and order */
.phead .lede{max-width:52ch}

/* ---------- menu ---------- */
.menu-wrap{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start;padding-bottom:clamp(70px,9vw,120px)}
.cats{position:sticky;top:calc(var(--nav-h) + 20px)}
.cats ol{list-style:none;margin:0;padding:0}
.cats a{display:block;padding:9px 14px;border-radius:12px;text-decoration:none;font-weight:600;color:var(--cocoa-soft);line-height:1.25;transition:background-color .25s,color .25s}
.cats a:hover{color:var(--cocoa);background:rgba(51,34,26,.06)}
.cats a.on{background:var(--cocoa);color:var(--paper)}
.cat{scroll-margin-top:calc(var(--nav-h) + 18px);padding-bottom:clamp(50px,6vw,84px)}
.cat__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:10px;padding-bottom:16px;border-bottom:3px solid var(--tint,var(--sun))}
.cat__head h2{font-size:clamp(34px,4vw,54px)}
.cat__head p{margin:6px 0 0;color:var(--cocoa-soft)}
.cat__head .snap{width:118px;padding:6px 6px 8px;transform:rotate(3deg)}
.cat__head .snap::before{width:58px;height:18px;margin-left:-29px;top:-9px;background:var(--tint,var(--sun))}
.cat__head .snap img{aspect-ratio:1/1}
.items{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,3.4vw,48px)}
.item{padding:15px 0;border-bottom:1px dashed var(--line-strong)}
.item__top{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.item__top h3{font-family:var(--body);font-size:17.5px;font-weight:600;letter-spacing:0;line-height:1.3;font-variation-settings:normal}
.item__en{font-size:14.5px;color:var(--cocoa-soft);margin:1px 0 0}
.item__ctl{display:flex;gap:8px;align-items:center;margin-top:9px;flex-wrap:wrap}
.item__ctl .add{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 15px;border-radius:999px;border:1.5px solid var(--line-strong);background:none;cursor:pointer;font-weight:600;font-size:14.5px;transition:background-color .2s,border-color .2s,transform .2s var(--ease)}
.item__ctl .add:hover{background:var(--marigold);border-color:var(--marigold);transform:translateY(-1px)}
.item__ctl select{font:inherit;font-size:14.5px;min-height:38px;padding:0 30px 0 13px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2333221a' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;appearance:none;color:var(--cocoa);max-width:100%}
@media (pointer:coarse){.item__ctl .add,.item__ctl select{min-height:44px}}
.menu-foot{color:var(--cocoa-soft);font-size:15px;line-height:1.7;margin:0}
@media (max-width:1040px){.items{grid-template-columns:1fr}}
@media (max-width:820px){
  .menu-wrap{grid-template-columns:minmax(0,1fr);gap:0}
  .cats{top:var(--nav-h);z-index:20;margin:0 calc(var(--gutter)*-1) 22px;padding:9px var(--gutter);background:rgba(248,237,219,.95);box-shadow:0 1px 0 var(--line)}
  .cats ol{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
  .cats ol::-webkit-scrollbar{display:none}
  .cats a{white-space:nowrap;border:1.5px solid var(--line-strong);border-radius:999px;padding:9px 14px}
  .cats a.on{border-color:var(--cocoa)}
}
@media (max-width:520px){.cat__head .snap{width:84px}}

/* ---------- order ---------- */
.co{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:start;padding-bottom:clamp(70px,9vw,120px)}
.co__step{padding:26px 0;border-top:1px solid var(--line)}
.co__step:first-child{border-top:0;padding-top:0}
.co__step h2{font-size:clamp(26px,2.6vw,36px);margin-bottom:16px}
.mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.mode .choice>span{padding:16px 18px}
.mode b{font-family:var(--display);font-weight:500;font-size:24px}
.days{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 10px;margin-bottom:12px}
.days .choice>span{width:70px;align-items:center;text-align:center;padding:9px 4px}
.days small{font-size:12.5px!important}
.days b{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.1}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:7px}
.slots .choice>span{align-items:center;padding:9px 4px;font-size:14.5px}
.windows{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.co__note{font-size:14px;color:var(--cocoa-soft);margin:10px 0 0}
.zipline{display:flex;gap:10px;align-items:flex-end}
.zipline .field{flex:1;margin:0}
.zipmsg{font-size:15px;margin:9px 0 16px;min-height:1.4em}
.zipmsg.yes{color:#4f6232}.zipmsg.no{color:#a33f29}
.summary{position:sticky;top:calc(var(--nav-h) + 18px);background:var(--paper);border-radius:20px;padding:26px;box-shadow:0 18px 56px rgba(51,34,26,.1)}
.summary h2{font-size:30px;margin-bottom:6px}
.summary .line{grid-template-columns:48px 1fr auto;padding:10px 0}
.summary .line img,.summary .line .ph{width:48px;height:48px}
.sum-rows{margin-top:12px}
.sum-rows div{display:flex;justify-content:space-between;padding:3px 0;color:var(--cocoa-soft)}
.sum-rows .total{color:var(--cocoa);border-top:1px solid var(--line);margin-top:8px;padding-top:12px;align-items:baseline}
.sum-rows .total b{font-family:var(--display);font-weight:500;font-size:28px}
.sum-when{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:var(--masa);font-size:15px}
.sum-when:empty,.sum-warn:empty{display:none}
.sum-warn{font-size:14px;color:#a33f29;margin:10px 0 0}
.summary .btn{width:100%;margin:16px 0 12px}
.empty-order{padding:24px 0 90px}
.empty-order p{color:var(--cocoa-soft);margin:0 0 18px;max-width:40ch}
.success{text-align:center;padding:calc(var(--nav-h) + 50px) 0 90px;max-width:640px;margin:0 auto}
.success .script{font-size:clamp(54px,9vw,96px);line-height:1.15;color:#b5701c;margin:0}
.success h1{font-size:clamp(30px,4.4vw,50px);line-height:1.1}
.success .when{font-size:18px;margin:14px 0 20px}
.success .demo-note{max-width:430px;margin:0 auto 24px}
.success .ctas{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media (max-width:940px){.co{grid-template-columns:minmax(0,1fr)}.summary{position:static}}
@media (max-width:480px){.windows{grid-template-columns:1fr}}
.callsteps{font-size:clamp(18px,1.6vw,21px);line-height:1.8;margin:0 0 22px}
.callbtn{font-size:18px;min-height:56px;padding:0 30px;margin-bottom:16px}
